Ввод-вывод специальных типов. Тип 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

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

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



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий