Basic concepts
| General topics | ||||||||||||||||
| Flow control | ||||||||||||||||
| Conditional execution statements | ||||||||||||||||
| Iteration statements (loops) | ||||||||||||||||
|
||||||||||||||||
| Jump statements | ||||||||||||||||
| Functions | ||||||||||||||||
| Function declaration | ||||||||||||||||
| Lambda function expression | ||||||||||||||||
inline
specifier
|
||||||||||||||||
| Dynamic exception specifications ( until C++17* ) | ||||||||||||||||
noexcept
specifier
(C++11)
|
||||||||||||||||
| Exceptions | ||||||||||||||||
| Namespaces | ||||||||||||||||
| Types | ||||||||||||||||
| Specifiers | ||||||||||||||||
|
||||||||||||||||
| Storage duration specifiers | ||||||||||||||||
| Initialization | ||||||||||||||||
| Expressions | ||||||||||||||||
| Alternative representations | ||||||||||||||||
| Literals | ||||||||||||||||
| Boolean - Integer - Floating-point | ||||||||||||||||
| Character - String - nullptr (C++11) | ||||||||||||||||
| User-defined (C++11) | ||||||||||||||||
| Utilities | ||||||||||||||||
| Attributes (C++11) | ||||||||||||||||
| Types | ||||||||||||||||
typedef
declaration
|
||||||||||||||||
| Type alias declaration (C++11) | ||||||||||||||||
| Casts | ||||||||||||||||
| Memory allocation | ||||||||||||||||
| Classes | ||||||||||||||||
| Class-specific function properties | ||||||||||||||||
|
||||||||||||||||
| Special member functions | ||||||||||||||||
|
||||||||||||||||
| Templates | ||||||||||||||||
| Miscellaneous | ||||||||||||||||
Этот раздел содержит определения специфической терминологии и концепций, используемых при описании языка программирования C++.
Программа на C++ представляет собой последовательность текстовых файлов (обычно заголовочных и исходных файлов), которые содержат объявления . Они проходят трансляцию , чтобы стать исполняемой программой, которая выполняется, когда реализация C++ вызывает её главную функцию .
Некоторые слова в программе на C++ имеют специальное значение, и они называются keywords . Другие могут использоваться в качестве identifiers . Comments игнорируются во время трансляции. Программы на C++ также содержат literals , значения символов внутри которых определяются character sets and encodings . Определённые символы в программе должны быть представлены с помощью escape sequences .
Сущности программы на C++ — это значения, объекты , ссылки , структурированные привязки (начиная с C++17) , привязки результатов (начиная с C++26) , функции , перечислители , типы , члены классов, шаблоны , специализации шаблонов , пакеты (начиная с C++11) и пространства имён . Макросы препроцессора не являются сущностями C++.
Declarations могут вводить сущности, связывать их с names и определять их свойства. Объявления, которые определяют все свойства, необходимые для использования сущности, являются definitions . Программа должна содержать только одно определение любой не-inline функции или переменной, которая odr-used .
Определения функций обычно включают последовательности statements , некоторые из которых содержат expressions , которые определяют вычисления, выполняемые программой.
Имена, встречающиеся в программе, связываются с объявлениями, которые их ввели, с помощью поиска имени . Каждое имя действительно только в части программы, называемой его областью видимости . Некоторые имена имеют связывание , что позволяет им ссылаться на одни и те же сущности при появлении в разных областях видимости или единицах трансляции.
Каждый объект, ссылка, функция, выражение в C++ связаны с типом , который может быть фундаментальным , составным или пользовательским , полным или неполным , и т.д.
Объявленные объекты и объявленные ссылки, которые не являются нестатическими членами-данными , являются переменными .
Смотрите также
|
Документация C
для
Основных концепций
|