Класс ostream определяет функции операции вставки для следующих типов указателей:
• const signed char *
• const unsigned char *
• const char *
• void *
He забывайте, что C++ представляет строку, используя указатель на ее местоположение. Указатель может иметь форму имени массива элементов типа char, явного указателя на char или же строки в кавычках. Таким образом, все следующие операторы с cout отображают строки:
char name[20] = "Dudly Diddlemore"; char * pn = "Violet D'Amore"; cout « "Hello!";
cout « name;
cout « pn;
Для определения окончания последовательности отрбражаемых символов методы используют завершающий нулевой символ.
C++ интерпретирует указатель любого другого типа как void * и выводит числовое представление адреса. Если требуется получить адрес строки, необходимо выполнить приведение к другому типу, как показано в следующем фрагменте кода:
int eggs = 12;
char * amount = "dozen";
cout << &eggs; // выводит адрес переменной eggs
cout << amount; // выводит строку "dozen"
cout << (void *) amount; // выводит адрес строки "dozen"