Скачиваний:
199
Добавлен:
05.07.2021
Размер:
16.53 Mб
Скачать

Istream и ostream как специализации для специализаций char. Wistream и wostream как специализации для типа wchar_t.

Поэтому традиционный 8-битный ("узкий") тип char был дополнен символьным типом wchar_t (или "широким"). Версия С++11 добавляет типы char16_t и char32_t. Каждому типу требуются собственные средства ввода-вывода.

9. ostream как псевдоним шаблона класса basic_ostream. Взаимосвязь основных классов ввода/вывода. Форматирование с помощью cout. Используемые параметры форматирования для операции вставки в ostream по умолчанию.

Класс ostream представляет собой реализацию шаблонного класса basic_ostream для типа char и char_traits, специализирующийся на char. Класс ostream представляет собой псевдоним шаблона класса basic_ostream, специализированного для элементов типа char с чертами символов по умолчанию.

Взаимосвязь основных классов ввода/вывода – смотреть вопрос 7.

Для обработки вывода применяется такой объект cout типа ostream. Создание этого объекта открывает поток, автоматически создает буфер и ассоциирует его с потоком. Это также делает доступными методы-элементы класса.

10. Класс basic_iostream. Iostream как псевдоним шаблона класса basic_iostream. Взаимосвязь основных классов ввода/вывода

 Класс iostream является производным от классов basic_istream и basic_ostream одновременно и предоставляет методы ввода из потока и вывода в поток. Класс iostream представляет собой реализацию шаблонного класса basic_iostream, который управляет вставками через свой базовый класс basic_ostream и извлечениями из потока через свой базовый класс basic_istream. Оба класса basic_iostream и basic_ostream имеют общий базовый класс basic_ios, который наследуется виртуально.

Взаимосвязь основных классов ввода/вывода - смотреть вопрос 7.

11. Реализация интернационализации в C++ (chatacter, wide character). Шаблон char_traits. istream и ostream как специализации для специализаций char. wistream и wostream как специализации для типа wchar_t.

Чтобы быть интернациональным языком, C++ должен уметь обрабатывать интернациональные наборы символов, которые требуют использования символьного типа шириной в 16 бит или более.

12. Объекты wcout, wcin, wclog, wcerr, cout, cin, clog, cerr. Особенности их создания и использования.

Объект cin соответствует стандартному потоку ввода. По умолчанию этот поток ассоциируется со стандартным устройством ввода — обычно клавиатурой. Объект wcin аналогичен cin, но работает с типом wchar_t. Объект cout соответствует стандартному потоку вывода. По умолчанию этот поток ассоциируется со стандартным устройством вывода — обычно монитором. Объект wcout аналогичен cout, но работает с символами типа wchar_t.

Объект cerr соответствует стандартному потоку вывода ошибок, который можно использовать для отображения сообщений об ошибках. По умолчанию этот поток ассоциируется со стандартным устройством вывода — обычно монитором — и данный поток не буферизуется. Это означает, что информация отправляется непосредственно на экран без ожидания заполнения буфера или передачи символа перевода строки. Объект wcerr аналогичен объекту cerr, но работает с типом wchar_t.

Объект clog также соответствует стандартному потоку вывода ошибок. По умолчанию этот поток ассоциируется со стандартным устройством вывода — обычно монитором — и буферизуется. Объект wclog аналогичен объекту clog, но работает с символами типа wchar_t.

13. Стандартные манипуляторы: boolalpha, noboolalpha, showbase, noshowbas, showpoint, noshowpoint, showpos, noshowpos, uppercase, nouppercase, internal, left, right, dec, hex, oct, fixed, scientific. Примеры их использования.