基本概念
来自cppreference.com
本节定义了描述 C++ 编程语言时所使用的一些专门的术语与概念。
一个 C++ 程序是一个含有声明的文本文件(通常为头文件与源文件)序列。它们被翻译成一个可执行程序,C++ 实现通过调用其主 (main) 函数执行这一程序。
在 C++ 程序中,一些被称为关键词的词语有着特殊的含义。其它词语可以被用作标识符。在翻译的过程中,注释会被忽略。C++ 程序也包含字面量,其中的字符的值由字符集与编码指定。程序中的某些特定字符必须通过转义序列表示。
C++ 程序中的实体包括值、对象、引用、结构化绑定 (C++17 起)、函数、枚举项、类型、类成员、模板、模板特化、形参包 (C++11 起)和命名空间。预处理器宏不是 C++ 实体。
声明可以引入实体,将它们与名字关联起来,并定义其属性。能够定义使用一个实体所需的所有属性的声明是定义。对任何被 ODR 使用的非内联函数或变量,程序中必须只含有其一个定义。
函数的定义通常包括一系列的语句,其中部分会包含表达式。表达式指定了程序需要进行的运算。
程序中遇到的名字通过名字查找与引入它们的声明关联起来。每个名字都只在称为其作用域的程序部分中有效。有些名字有链接,这使得它们即使出现在不同的作用域或翻译单元时也代表相同的实体。
C++ 中的每一个对象、引用、函数和表达式都会关联一个类型。类型可以分为基础类型,复合类型,或用户定义类型,以及完整或不完整的类型等。
被声明的且不是非静态数据成员的对象和引用是变量。