Переменная препроцессора (preprocessor variable). Переменная, используемая препроцессором. Препроцессор заменяет каждую переменную препроцессора ее значением прежде, чем программа будет откомпилирована.
Переменная-член (data member). Элемент данных, которые составляют объект. Каждый объект некоего класса обладает собственными экземплярами переменных-членов. Переменные-члены могут быть инициализированы в объявлении класса.
Преобразование (conversion). Процесс, в результате которого значение одного типа преобразуется в значение другого. Преобразования между встроенными типами определены в самом языке.
Препроцессор (preprocessor). Препроцессор — это программа, автоматически запускаемая перед компилятором С++.
Псевдоним типа (type alias). Имя, являющееся синонимом для другого типа. Определяется при помощи ключевого слова typedef
или объявления псевдонима.
Раздельная компиляция (separate compilation). Возможность разделить программу на несколько отдельных файлов исходного кода.
Связывание (bind). Соединение имени с указанной сущностью, чтобы использование имени приводило к использованию основной сущности. Например, ссылка — это имя, связанное с объектом.
Слово (word). Специфический для каждой машины размер блока памяти, применяемый при целочисленных вычислениях. Обычно размер слова достаточно велик, чтобы содержать адрес. 32-битовое слово обычно занимает 4 байта.
Составной тип (compound type). Тип, определенный в терминах другого типа.
Спецификаторauto
. Спецификатор типа, позволяющий вывести тип переменной из ее инициализатора.
Спецификатор const
верхнего уровня (top-level const
). Спецификатор const
, указывающий, что объект не может быть изменен.
Спецификатор const
нижнего уровня (low-level const
). Спецификатор const
не верхнего уровня. Такие спецификаторы const
являются неотъемлемой частью типа и никогда не игнорируются.
Спецификаторconst
. Спецификатор типа, определяющий объекты, которые не могут быть изменены. Константные объекты следует инициализировать, поскольку нет никакого способа присвоить им значение после определения.
Спецификаторdecltype
. Спецификатор типа, позволяющий вывести тип переменной или выражения.
Спецификатор типа (type specifier). Имя типа.
Списочная инициализация (list initialization). Форма инициализации, подразумевающая использование фигурных скобок для включения одного или нескольких инициализаторов.
Ссылка (reference). Псевдоним другого объекта.
Ссылка на константу (reference to const). Ссылка, неспособная изменить значение объекта, на который она ссылается. Ссылка на константу может быть связана с константным, неконстантным объектом или с результатом выражения.
Типstring
. Библиотечный тип, представляющий последовательность символов переменной длины.
Типvoid*
. Специальный тип указателя, способного указывать на любой неконстантный тип. Обращение к значению таких указателей невозможно.
Типvoid
. Специальный тип без значения и допустимых операций. Нельзя определить переменную типа void
.
Указатель (pointer). Объект, способный содержать адрес объекта, следующий адрес за концом объекта или нуль.
Указатель на константу (pointer to const
). Указатель, способный содержать адрес константного объекта. Указатель на константу не может использоваться для изменения значения объекта, на который он указывает.
Управляющая последовательность (escape sequence). Альтернативный механизм представления символов. Обычно используется для представления непечатаемых символов, таких как символ новой строки или табуляции. Управляющая последовательность состоит из символа наклонной черты влево, сопровождаемой символом, восьмеричным числом из трех цифр, или символа x
, сопровождаемого шестнадцатеричным числом.
Член класса (class member, member). Часть класса.
Глава 3
Типы string
, vector
и массивы
Кроме встроенных типов, рассмотренных в главе 2, язык С++ предоставляет богатую библиотеку абстрактных типов данных. Важнейшими библиотечными типами являются тип string
, поддерживающий символьные строки переменной длины, и тип vector
, определяющий коллекции переменного размера. С типами string
и vector
связаны типы, известные как
Типы string
и vector
, определенные в библиотеке, являются абстракциями более простого встроенного типа массива. Эта главы посвящена массивам и введению в библиотечные типы vector
и string
.