Шаг 471.
Библиотека STL. Ввод-вывод с использованием потоковых классов. Ввод-вывод специальных типов. Тип void*

    На этом шаге мы рассмотрим особенности ввода и вывода значений типа void*.

    Операторы >> и << также позволяют вывести указатель и снова прочитать его. Если оператору вывода передается параметр типа void*, то оператор выводит адрес в формате, зависящем от реализации. Например, следующая команда выводит содержимое С-строки и ее адрес:

  char* cstring = "hello";
  std::cout << "string \"" << cstring << "\" is located at address: " 
               << static_cast<void*>(cstring) << std::endl;

    Результат выполнения этой команды выглядит так:

  string "hello" is located at address: 0x10000018

    Этот адрес можно прочитать оператором ввода. Тем не менее следует учитывать, что в общем случае адрес является временной величиной. При новом запуске программы объекту может быть присвоен совершенно иной адрес. В частности, ввод-вывод адресов может применяться в программах, обменивающихся адресами для идентификации объектов или использующих общую память.

    На следующем шаге мы рассмотрим потоковые буферы.




Предыдущий шаг Содержание Следующий шаг