Пространства имён
Варианты
Действия

Базовые понятия

Материал из cppreference.com
< cpp‎ | language
 
 
Язык С++
Общие темы
Управление потоком
Операторы условного выполнения
if
Операторы итерации (циклы)
Операторы перехода
Функции
Объявление функции
Выражение лямбда-функции
Спецификатор inline
Спецификации динамических исключений (до C++17*)
Спецификатор noexcept (C++11)
Исключения
Пространства имён
Типы
Спецификаторы
decltype (C++11)
auto (C++11)
alignas (C++11)
Спецификаторы длительности хранения
Инициализация
Выражения
Альтернативные представления
Литералы
Логические - Целочисленные - С плавающей запятой
Символьные - Строковые - nullptr (C++11)
Определяемые пользователем (C++11)
Утилиты
Атрибуты (C++11)
Types
Объявление typedef
Объявление псевдонима типа (C++11)
Casts
Неявные преобразования - Явные преобразования
static_cast - dynamic_cast
const_cast - reinterpret_cast
Выделение памяти
Классы
Свойства функции класса
explicit (C++11)
static
Специальные функции-элементы
Шаблоны
Разное
 
 

Этот раздел даёт определения специальной терминологии и понятий, используемых при описании языка программирования C++.

Программа на C++ это набор текстовых файлов (обычно заголовочных и исходных файлов), которые содержат объявления. Они подвергаются трансляции для получения исполняемой программы, которая исполняется, когда реализация C++ вызывает её функцию main.

Некоторые слова программы на C++ имеют специальные значения, такие слова известны как ключевые. Другие могут использоваться как идентификаторы. Комментарии игнорируются во время трансляции. Программы на C++ также содержат литералы, значения символов внутри них определяются наборами символов и кодировками. Определённые символы в программе должны представляться как управляющие последовательности.

Сущности программы на C++ — это значения, объекты, ссылки, структурные привязки (начиная с C++17), функции, перечисления, типы, элементы класса, шаблоны, специализации шаблонов, пространства имён и пакеты параметров (начиная с C++11). Макросы препроцессора не являются сущностями C++.

Сущности вводятся посредством объявлений, которые ассоциируют их с именами и описывают их свойства. Объявления, которые определяют все свойства, необходимые для использования сущности, называются определениями. Программа должна содержать только одно определение любой невстраиваемой функции или переменной, которые используются odr.

Определения функций состоят из последовательности инструкций, некоторые из которых включают в себя выражения, которые определяют вычисления, предназначенные для исполнения программой.

Имена, встречающиеся в программе, ассоциируются с объявлениями, которые вводятся по правилам разрешения имён. Каждое имя действительно только в той части программы, которая называется её областью видимости. Некоторые имена имеют связывание, которое позволяет ссылаться из разных областей видимости или единиц трансляции на одни и те же сущности.

Каждый объект, ссылка, функция, выражение в C++ ассоциируется с типом, который может быть фундаментальным, составным или определённым пользователем, полным или неполным и т.д.

Объявленные объекты и объявленные ссылки, которые являются нестатическими элементами данных, называются переменными.

[править] Смотрите также

Документация C по Базовые понятия