Термины

Адрес (address). Номер байта в памяти, начиная с которого располагается объект.

Арифметический тип (arithmetic type). Встроенные типы, представляющие логические значения, символы, целые числа и числа с плавающей запятой.

Базовый тип (base type). Спецификатор типа, возможно со спецификатором const, который предшествует оператору объявления в объявлении. Базовый тип представляет общий тип, на основании которого строятся операторы объявления в объявлении.

Байт (byte). Наименьший адресуемый блок памяти. На большинстве машин байт составляет 8 битов.

Беззнаковый тип (unsigned). Целочисленный тип данных, переменные которого способны хранить значения больше или равные нулю.

В области видимости (in scope). Имя, которое видимо от текущей области видимости.

Внешняя область видимости (outer scope). Область видимости, включающая другую область видимости.

Внутренняя область видимости (inner scope). Область видимости, вложенная в другую область видимости.

Внутриклассовый инициализатор (in-class initializer). Инициализатор, предоставленный как часть объявления переменной-члена класса. За внутриклассовым инициализатором следует символ =, или он заключается в фигурные скобки.

Временный объект (temporary). Безымянный объект, создаваемый компилятором при вычислении выражения. Временный объект существует до конца вычисления всего выражения, для которого он был создан.

Глобальная область видимости (global scope). Область видимости, внешняя для всех остальных областей видимости.

Директива препроцессора#define. Определяет переменную препроцессора.

Директива препроцессора#endif. Завершает область #ifdef или #ifndef.

Директива препроцессора#ifdef. Выясняет, что данная переменная определена.

Директива препроцессора#ifndef. Выясняет, что данная переменная не определена.

Защита заголовка (header guard). Переменная препроцессора, предназначенная для предотвращения неоднократного подключения содержимого заголовка в один файл исходного кода.

Знаковый тип (signed). Целочисленный тип данных, переменные которого способны хранить отрицательные и положительные числа, включая нуль.

Идентификатор (identifier). Последовательность символов, составляющая имя. Идентификатор зависит от регистра символов.

Инициализация (initialization). Присвоение переменной исходного значения при ее определении. Обычно переменные следует инициализировать.

Инициализация по умолчанию (default initialization). Способ инициализации объектов при отсутствии явной инициализации. Инициализация объектов типа класса определяется классом. Объекты встроенного типа, определенного в глобальной области видимости, инициализируются значением 0, а определенные в локальной области видимости остаются неинициализированными и имеют неопределенное значение.

Интегральный тип (integral type). То же, что и арифметический или целочисленный тип.

Ключевое словоstruct. Используется при определении структуры (класса).

Ключевое словоtypedef. Позволяет определить псевдоним для другого типа. Когда ключевое слово typedef присутствует в объявлении базового типа, определенные в объявлении имена становятся именами типа.

Константная ссылка (const reference). Разговорный термин для ссылки на константный объект.

Константное выражение (constant expression). Выражение, значение которого может быть вычислено во время компиляции.

Константный указатель (const pointer). Указатель со спецификатором const.

Контроль соответствия типов (type checking). Термин, описывающий процесс проверки компилятором соответствия способа использования объекта заявленному для него типу.

Литерал (literal) Значение, такое как число, символ или строка символов. Это значение не может быть изменено. Символьные литералы заключают в одинарные кавычки, а строковые литералы в двойные.

Литералnullptr. Литеральная константа, означающая нулевой указатель.

Локальная область видимости (local scope). Разговорный синоним для области действия блока кода.

Массив (array). Структура данных, содержащая коллекцию неименованных объектов, к которым можно обращаться по индексу. Более подробная информация о массивах приведена в разделе 3.5.

Неинициализированная переменная (uninitialized variable). Переменная, определенная без исходного значения. Обычно попытка доступа к значению неинициализированной переменной приводит к неопределенному поведению.

Неопределенное поведение (undefined behavior). Случай, для которого стандарт языка не определяет значения. Осознанно или неосознанно, но полагаться на неопределенное поведение нельзя. Оно является источником трудно обнаруживаемых ошибок времени выполнения, проблем безопасности и переносимости.

Непечатаемый символ (nonprintable character). Символ, не имеющий видимого представления, например символ возврата на один символ, символ новой строки и т.д.

Нулевой указатель (null pointer). Указатель со значением 0. Нулевой указатель допустим, но не указывает ни на какой объект.

Область видимости (scope). Часть программы, в которой имена имеют смысл. Язык С++ имеет несколько уровней областей видимости.

Глобальная (global) — имена, определенные вне остальных областей видимости.

Класса (class) — имена, определенные классом.

Пространства имен (namespace) — имена, определенные в пространстве имен.

Блока (block) — имена, определенные в блоке операторов, т.е. в паре фигурных скобок.

Области видимости могут быть вложенными. Как только имя объявлено, оно доступно до конца той области видимости, в которой было объявлено.

Объект (object). Область памяти, которая имеет тип. Переменная — это объект, который имеет имя.

Объявление (declaration). Уведомление о существовании переменной, функции или типа, определяемых в другом месте программы. Никакие имена не могут быть использованы, пока они не определены или не объявлены.

Объявление псевдонима (alias declaration). Определяет синоним для другого типа. Объявление в формате using имя = тип объявляет имя как синоним типа тип.

Оператор&. Оператор обращения к адресу. Возвращает адрес объекта, к которому он был применен.

Оператор*. Оператор обращения к значению. Обращение к значению указателя возвращает объект, на который указывает указатель. Присвоение результату оператора обращения к значению присваивает новое значение основному объекту.

Оператор объявления (declarator). Часть объявления, включающая определяемое имя и, необязательно, модификатор типа.

Определение (definition). Резервирует область в памяти для хранения данных переменной и (необязательно) инициализирует ее значение. Никакие имена не могут быть использованы, пока они не определены или не объявлены.

Переменная (variable). Именованный объект или ссылка. В языке С++ переменные должны быть объявлены перед использованием.

Переменнаяconstexpr. Переменная, которая представляет константное выражение.

Функции constexpr рассматриваются в разделе 6.5.2.

Переменная препроцессора (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). Часть класса.

Более 800 000 книг и аудиокниг! 📚

Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением

ПОЛУЧИТЬ ПОДАРОК