|
Программирование >> Операторы преобразования типа
операторы преобразования типа Бесспорно, STL является самой мощной, самой сложной и самой интересной частью библиотеки С-ь+, а ее архитектура в значительной степени влияет на другие компоненты. Затем рассматриваются более очевидные компоненты - специализированные контейнеры, строковые и числовые классы. Вероятно, следующий компонент - библиотека lOStream - уже знаком читателю и используется им в практической работе, В завершение будут рассмотрены проблемы интернационализации, которые оказывают некоторое влияние на работу библиотеки lOStream. Знакомство с каждым компонентом начинается с описания целей и архитектурных решений, сопровождаемых примерами. Далее следует углубленное описание различных способов использования компонента и возникающих при этом проблем. Описание, как правило, заканчивается справочным разделом, в котором приводятся сигнатуры и определения классов компонента и их функций. Ниже дано краткое содержание книги. В первых четырех главах представлена вводная информация о книге и стандартной библиотеке С++ в целом. О Глава 1, О книге* . В этой главе (которую вы читаете в настоящий момент) представлены тема книги и ее содержание. О Глава 2, Знакомство с С++ и стандартной библиотекой . Краткий обзор истории стандартной библиотеки С++ и контекста ее стандартизации. Кроме того, в этой главе приводится общая информация по теме книги, в том числе описания новых языковых средств и концепции сложности. О Глава 3, Общие концепции . Базовые принципы строения библиотеки, понимание которых необходимо для использования ее компонентов. В частности, в этой главе представлено пространство имен std, формат заголовочных файлов и общие средства обработки ошибок и исключений. О Глава 4, Вспомогательные средства* . Здесь рассматриваются некоторые вспомогательные средства, предназначенные для пользователей библиотеки и для самой библиотеки. В частности, описаны вспомогательные функции тах(), min() и swapO, типы pair и auto ptr, а также тип numericjimits, предоставляющий дополнительную информацию о числовых типах данных в зависимости от реализации. В главах с 5-й по 9-ю описаны различные аспекты STL. О Глава 5, Стандартная библиотека шаблонов . В этой главе представлены общие концепции стандартной библиотеки шаблонов (STL) - сборника контейнеров и алгоритмов, используемых для обработки наборов данных. Обстоятельно изложены основные принципы работы, проблемы и специальные приемы программирования, а также роли основных частей библиотеки. О Глава 6, Контейнеры STL*. Глава посвящена контейнерным классам STL. Сначала мы рассмотрим различия между векторами, деками, списками, простыми и ассоциативными мрюжествами, затем проанализируем сходство между ними; материал поясняется типичными примерами использования контейнеров. Глава завершается перечислением всех функций контейнеров в виде удобного справочника. О Глава 7, Итераторы STL . Подробное описание классов итераторов STL. В частности, рассматриваются разные категории итераторов, вспомогательные функции итераторов и адаптеры (потоковые итераторы, обратные итераторы и итераторы с возможностью вставки). О Глава 8, Объекты функций STL . Описание объектов функций STL. О Глава 9, Алгоритмы STL . Перечисление и описание алгоритмов STL. После краткого вступления и сравнения алгоритмов приводятся подробные описания алгоритмов, сопровождаемые примерами программ. Главы с 10-й по 12-ю посвящены простым стандартным классам. О Глава 10, Специальные контейнеры . Описание специальных контейнерных классов стандартной библиотеки С++. В частности, здесь рассматриваются адаптеры для очередей и стеков, а также класс bitset, предназначенный для управления битовыми полями произвольной разрядности. О Глава И, Строки . В этой главе представлены строковые типы стандартной библиотеки С++ (да, таких типов несколько!). В стандарте С ++ строки представлены как очевидные фундаментальные типы данных с возможностью использования разнообразных символов. О Глава 12, Числовые типы?-. Глава посвящена числовым компонентам стандартной библиотеки С++. В частности, в ней описаны типы комплексных чисел и классы для представления массивов числовых значений (применяются при работе с матрицами, векторами и уравнениями). В главах 13 и 14 рассматриваются темы, относящиеся к вводу-выводу и интернационализации (эти две темы тесно связаны друг с другом). О Глава 13, Ввод-вывод с использованием потоковых классов . Описание подсистемы ввода-вывода С++ - стандартизированной формы известной библиотеки iostream. В данной главе также приводятся некоторые важные подробности, которые нередко упускают из виду. Например, здесь рассматривается правильная методика определения и интеграции специальных каналов ввода-вывода, которые на практике часто реализуются неправильно. О Глава 14, Интернационализация . Глава посвящена основным принципам и классам, используемым при интернационализации программ. В частности, в ней рассматриваются проблемы разных кодировок и применение различных форматов при выводе вещественных чисел и дат. Оставшуюся часть книги составили глава 15, список ссылок на ресурсы Интернета, библиография и алфавитный указатель. О Глава 15, Распределители памяти . Концепции моделей памяти в стандартной библиотеке С++. О Список ссылок на ресурсы Интернета с дополнительной информацией по темам, рассмотренным в книге. О Список книг н иных источников, которые упоминались, использовались илн цитировались в этой книге. О Алфавитный указатель. Как читать эту книгу Книга представляет собой гибрид учебника и структурированного справочника по стандартной библиотеке С++. Отдельные компоненты стандартной библиотеки С++ в той или иной степени независимы друг от друга, поэтому после глав 2-4 описания компонентов можно читать в любом порядке. Не забывайте, что главы 5-9 посвящены одному и тому же компоненту. Чтобы понять материал остальных глав о STL, начните с вводного описания STL в главе 5. Программист С++, желающий освоить основные принципы и все аспекты стандартной библиотеки, может просто читать эту книгу от начала до конца, пропуская справочные разделы. При работе с некоторыми компонентами стандартной библиотеки С++ нужную информацию проще всего найти по алфавит-пому указателю, который сделан достаточно подробным, чтобы свести к минимуму время поиска. Как известно, все новое лучше всего изучается на конкретных примерах. По этой причине материал книги поясняется многочисленными примерами, от нескольких строк кода до целых программ, В последнем случае имя файла с программой указывается в первой строке комментария. Файлы примеров можно загрузить с web-сайта оригинального издания этой книги (http: www.josuttis.com/ libbook) или с web-сайта издательства Питер (http: www,piter.com/download). Текущая ситуация На момент написания книги стандарт С++ был полностью подготовлен. Некоторые компиляторы еще не соответствуют новому стандарту. Вероятно, ситуация изменится в ближайшем будущем, однако нельзя исключать того, что часть материала книги не будет соответствовать некоторым системам, и читателю придется вносить изменения в примеры под специфику конкретной платформы. Практически все примеры программ нормально компилируются в EGCS версии 2.8 и выше; реализации этого компилятора для многих платформ бесплатно распространяются через Интернет (http: egcs.cygnus.com/) и на компакт-дисках со сборниками программ. От издателя перевода Ваши замечания, предложения, вопросы отправляйте по адресу электронной почты comp@piter.com (издательство Питер , компьютерная редакция). Мы будем рады узнать ваше мнение! Все исходные тексты, приведенные в книге, вы сможете найти по адресу http: www.piter.com/download. Подробную информацию о наших книгах вы найдете на web-сайте издательства http: www.piter.com.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |