In the code you bolded, cout is reading from a specific memory address pointed to by the pointer say. With each cycle through the for loop, cout starts reading from the next allocated memory element, until it reaches the end of the pointers memory chunk.
cout thinks that pointers to char are null-terminated C strings so it shows the contents of the original string rather than the memory address. You can cast it to a void* to get pointer output