Пространства имён
Варианты
Действия

std::ios_base::xalloc

Материал из cppreference.com
< cpp‎ | io‎ | ios base

 
 
Библиотека ввода/вывода
Манипуляторы ввода/вывода
Функции print(C++23)
Ввод/вывод в стиле C
Буферы
(устарело в C++98)
Потоки
Абстракции
Файловый ввод/вывод
Ввод/вывод строк
Ввод/вывод массивов
(устарело в C++98)
(устарело в C++98)
(устарело в C++98)
Синхронизированный вывод
Типы
Интерфейс категорий ошибок
(C++11)
 
std::ios_base
Функции-члены
Форматирование
Оригинал:
Formatting
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Языки
Оригинал:
Locales
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Внутренние расширяемый массив
Оригинал:
Internal extensible array
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
ios_base::xalloc
Разное
Оригинал:
Miscellaneous
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Член классов
Оригинал:
Member classes
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Член типов
Оригинал:
Member types
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
 
staticint xalloc();
Возвращает уникальное значение (в рамках всей программы) индекс, который может быть использован для доступа к одному long и один void* элементов в частном хранении по телефону iword() и pword(). Призыв к xalloc не выделяет память.
Оригинал:
Returns an unique (program-wide) index value that can be used to access one long and one void* elements in the private storage by calling iword() and pword(). The call to xalloc does not allocate memory.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

Содержание

[править]Параметры

(Нет)

[править]Возвращаемое значение

уникальное целое число, для использования в качестве Pword / iword индекса
Оригинал:
unique integer for use as pword/iword index
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

[править]Пример

Использование базового класса Pword для хранения выполнения идентификации типов объектов, производных от потока .
Оригинал:
Uses base class pword storage for runtime type identification of derived stream objects.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

#include <iostream>   template<class charT, class traits =std::char_traits<charT>>class mystream :publicstd::basic_ostream<charT, traits>{public:staticconstint xindex; mystream(std::basic_ostream<charT, traits>& ostr):std::basic_ostream<charT, traits>(ostr.rdbuf()){ this->pword(xindex)= this;}   void myfn(){*this <<"[special handling for mystream]";}};   // each specialization of mystream obtains a unique index from xalloc()template<class charT, class traits>constint mystream<charT, traits>::xindex= std::ios_base::xalloc();   // This I/O manipulator will be able to recognize ostreams that are mystreams// by looking up the pointer stored in pwordtemplate<class charT, class traits>std::basic_ostream<charT,traits>& mymanip(std::basic_ostream<charT,traits>& os){if(os.pword(mystream<charT,traits>::xindex)==&os)static_cast<mystream<charT,traits>&>(os).myfn();return os;}   int main(){std::cout<<"cout, narrow-character test "<< mymanip <<'\n';   mystream<char> myout(std::cout); myout <<"myout, narrow-character test "<< mymanip <<'\n';   std::wcout<<"wcout, wide-character test "<< mymanip <<'\n';   mystream<wchar_t> mywout(std::wcout); mywout <<"mywout, wide-character test "<< mymanip <<'\n';}

Вывод:

cout, narrow-character test myout, narrow-character test [special handling for mystream] wcout, wide-character test mywout, wide-character test [special handling for mystream]

[править]См. также

при необходимости изменяет размер закрытого хранилища и предоставляет доступ к элементу типа void* по заданному индексу
(public функция-элемент)[править]
при необходимости изменяет размер закрытого хранилища и предоставляет доступ к элементу типа long по заданному индексу
(public функция-элемент)[править]
close