http://ideone.com/4p1gqr
#include int main(int argc, char** argv) { float *f = new float[10]; std::cout << f << std::endl;
You need to cast to void* to invoke correct overload of operator << instead of outputting as C strings
void*
operator <<
std::cout << static_cast<void*>(c) << std::endl; std::cout << static_cast<void*>(c+3) << std::endl;