operator<<
перегружен, чтобы занять const void*
, поэтому вы можете просто вставить указатель в поток:
std::cerr << ptr;
Исключением является то, что если указатель является const char*
, он будет интерпретироваться как указатель на строку C. Чтобы напечатать указатель, вам нужно явно привести его к const void*
:
std::cerr << static_cast<const void*>(ptr);