Шрифт:
Возможности стандартной библиотеки описаны в приложении Б.
Стандарт языка C++ определен комитетом, работающим под эгидой ISO (International Organization for Standardization — Международная организация по стандартизации) в сотрудничестве с национальными стандартными комитетами, такими как INCITS (США), BSI (Великобритания) и AFNOR (Франция). Действующим стандартом считается документ ISO/IEC 14882:2003 Standard for Programming Language C++. Он доступен как в электронном виде, так и в виде обычной книги: The C++ Standard, опубликованной издательством Wiley (ISBN 2870846747).
A.1.1. Терминология
В стандарте языка C++ даны следующие определения программы на языке C++ и разных его конструкций.
• Соответствие стандарту. Программа, написанная на языке C++ в соответствии со стандартом, называется соответствующей стандарту (conforming), или легальной (legal), или корректной (valid).
• Зависимость от реализации. Программа может зависеть (и обычно зависит) от свойств (таких как размер типа
• Неопределенность. Смысл некоторых конструкций является неустановленным точно (unspecified), неопределенным (undefined) или не соответствующим стандарту, но не диагностируемым (not conforming but not requiring a diagnostic). Очевидно, что такие свойства лучше не использовать. В этой книге их нет. Перечислим неопределенные свойства, которых следует избегать.
• Несогласованные определения в разных исходных файлах (используйте заголовочные файлы согласованно; см. раздел 8.3).
• Повторное чтение и запись одной и той же переменной в выражении (основным примером является инструкция
• Многочисленные явные преобразования типов (приведения), особенно
A.1.2. Старт и завершение программы
В программе на языке С++ должна быть отдельная глобальная функция с именем
Аргументы функции
В определении функции
Если вы определили глобальный (в пространстве имен) объект, имеющий конструктор и деструктор, то вполне логично, чтобы конструктор выполнялся до функции
A.1.3. Комментарии
Все, что можно сказать в программе, должно быть сказано. Однако в языке C++ есть два стиля комментариев, позволяющие программистам сказать то, что невозможно выразить с помощью кода.
Очевидно, что блоки комментариев чаще всего оформляются как многострочные комментарии, хотя некоторые люди предпочитают разделять их на несколько однострочных.
Комментарии играют важную роль для документирования предназначения кода; см. также раздел 7.6.4.
A.2. Литералы
Литералы представляют значения разных типов. Например, литерал 12 представляет целое число двенадцать, литерал "