Заголовочный файл

Описание

<algorithm>

Шаблонные функции общего назначения

<deque>

Шаблонный контейнер очереди с двумя концами

<functional>

Шаблоны, помогающие конструировать и манипулировать функторами

<iterator>

Шаблоны, помогающие конструировать и манипулировать итераторами

<list>

Шаблонный контейнер двусвязного списка

<map>

Шаблонные контейнеры ассоциативных массивов, связывающие ключ с одним и с несколь­кими значениями

<memory>

Утилиты, позволяющие упростить управление памятью

<numeric>

Шаблонные операции с числами

<queue>

Шаблонный контейнер очереди

<set>

Шаблонные контейнеры наборов, допускающие и не допускающие повторения элементов

<stack>

Шаблонный контейнер стека

<utility>

Основные шаблонные функции

<vector>

Шаблонный контейнер вектора

Рис. 6.5. Заголовочные файлы STL

Поскольку С++ фактически является супермножеством относительно языка программирования С, программисты С++ имеют в своем распоряжении также пол­ную библиотеку С. Заголовочные файлы библиотеки С доступны как с их традици­онными именами (например, <stdio. h>), так и с новыми именами с с-префиксом и без расширения . h (например, <cstdio>). Когда используется новая версия имен за­головочных файлов, функции и типы данных объявляются в пространстве имен std. (Это не относится к таким макросам, как ASSERT(), потому что препроцессор никак не реагирует на пространства имен.) Рекомендуется использовать новый стиль обо­значения имен, если его поддерживает ваш компилятор.

На рис. Б.6 приводится список заголовочных файлов библиотеки С. Большин­ство из них предлагает функциональность, которая перекрывается более новыми за­головочными файлами С++ или Qt. Стоит отметить одно из исключений - <cmath>, в котором объявляются такие математические функции, как sin(), sqrt () и pow().

Заголовочный файл

Описание

<cassert>

Макрос ASSERTO

<cctype>

Функции классификации и отображения символов

<cerrno>

Макросы, относящиеся к сообщениям об ошибочных ситуациях

<cfloat>

Макросы, определяющие свойства элементарных типов чисел с плавающей точкой

<ciso646>

Альтернативное представление для пользователей набора символов ISO 646

<climits>

Макросы, определяющие свойства элементарных целочисленных типов

<clocale>

Функции и типы, относящиеся к локализации

<cmath>

Математические функции и константы

<csetjmp>

Функции для выполнения нелокальных переходов

<csignal>

Функции для обработки системных сигналов

<cstdarg>

Макросы для реализации функций с переменным числом аргументов

<cstddef>

Определения, общие для некоторых стандартных заголовочных файлов

<cstdio>

Функции ввода-вывода

<cstdlib>

Общие вспомогательные функции

<cstring>

Функции для манипулирования массивами char

<ctime>

Типы и функции для манипулирования временем

<cwchar>

Утилиты для работы с многобайтовыми символами и символами расширенной кодировки

<cwctype>

Функции классификации и отображения символов расширенной кодировки

Рис. Б.6. Заголовочные файлы С++ для обеспечения возможностей библиотеки С

Этим завершается наш краткий обзор стандартной библиотеки С++. В сети Ин­тернет можно получить предлагаемое компанией «Dinkumware» полное справочное руководство по стандартной библиотеке С++, размещенное на веб-странице http:// www.dinkumware. com/refxcpp. html, и предлагаемое компанией «SGI» подробное руко­водство программиста по STL, размещенное на веб-странице http://www.sgi.com/ tech/stl/. Официальное описание стандартной библиотеки С++ можно найти в стандартах С и С++ в виде файлов PDF или получить в бумажном виде в Между­народной организации по стандартизации (International Organization for Standard­ization - ISO).

В данном приложении мы бегло рассмотрели многие темы. Когда вы станете изучать средства разработки Qt, начиная с главы 1, вы обнаружите, что используе­мый ими синтаксис значительно проще и аккуратнее, чем можно было бы предполо­жить после прочтения данного приложения. Хорошее Qt-программирование требует применения только подмножества языка С++ и обычно не требует использования более сложного и не очень понятного синтаксиса, возможного в С++. После того как вы станете вводить программный код, собирать исполняемые модули и запускать их, четкость и простота принятого в Qt подхода станет очевидной. И когда вы начнете писать более амбициозные программы, особенно те, в которых требуется обеспечить быструю и сложную графику, возможности комбинации С++ и Qt всегда будут идти в ногу с вашими потребностями.


<< назад