Namespaces
Variants

Basic concepts

From cppreference.net
C++ language
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
constexpr (C++11)
consteval (C++20)
constinit (C++20)
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++实现调用其 main函数 时开始执行。

C++程序中的某些单词具有特殊含义,这些单词被称为 关键字 。其他单词可用作 标识符 注释 在翻译过程中会被忽略。C++程序还包含 字面量 ,其内部字符值由 字符集与编码 决定。程序中的某些字符必须通过 转义序列 来表示。

C++ 程序中的 实体 包括值、 对象 引用 结构化绑定 (C++17 起) 结果绑定 (C++26 起) 函数 枚举项 类型 、类成员、 模板 模板特化 参数包 (C++11 起) 以及 命名空间 。预处理器 不属于 C++ 实体。

声明 可以引入实体,将其与 名称 关联并定义其属性。那些定义了使用实体所需全部属性的声明称为 定义 。对于任何被 ODR使用 的非内联函数或变量,程序必须仅包含其唯一定义。

函数定义通常包含一系列 语句 ,其中某些语句包含 表达式 ,这些表达式规定了程序需执行的计算操作。

程序中遇到的名称通过 名称查找 与引入它们的声明相关联。每个名称仅在程序的一部分中有效,这部分称为其 作用域 。某些名称具有 链接 ,这使得它们在不同作用域或翻译单元中出现时指向相同的实体。

C++ 中的每个对象、引用、函数、表达式都与 类型 相关联,这些类型可以是 基础类型 、复合类型或 用户定义类型 ,可以是完整类型或 不完整类型 等。

被声明的对象和被声明的引用(非 非静态数据成员 )即为 变量 

参见

C 文档 关于 基本概念