Что ж, существует перегрузка для оператора потока, который имеет дело с char*
в качестве особого случая. Все остальные типы указателей используют перегрузку void*
. Вот соответствующие перегрузки оператора потока из стандартов:
basic_ostream<charT,traits>& operator<<(const void* p); // all types of pointers
template<class charT, class traits> // except for c-strings
basic_ostream<charT,traits>& operator<<(basic_ostream<charT,traits>&,
const char*);