C++ 关键字
在 C++ 中,关键字是保留字,对编译器具有特殊含义。它们不能用于其他用途,也不能用作标识符,例如变量或函数名。它是 C++ 语法 的一部分,属于预定义词。它们有助于定义代码的结构和行为。
基本数据类型关键字
这些关键字定义基本数据类型 -
- int - 整数数据类型。
- char - 字符数据类型。
- float - 单精度浮点数据类型。
- double - 双精度浮点数据类型。
- void - 表示无值或类型;通常用于不返回值的函数。
- Bool − 布尔数据类型(true 或 false)。
- wchar_t − 表示主要用于国际化的宽字符类型。
控制流关键字
控制流关键字是编程中的特殊保留字,用于实现编程中的决策和重复性任务。
- 条件语句 − if、else、switch、case、default
- 循环结构 − for、while、do
- 控制语句 − break、continue、return、goto
存储类关键字
这些关键字指定变量的存储期限和链接 -
- auto - 编译器自动推断变量的类型(在 C++11 及更高版本中)。
- Register - 建议将变量存储在 CPU 寄存器中,以便更快地访问。
- Static - 表示变量即使在定义范围结束后仍保留其值。
- extern - 声明在另一个翻译单元中定义的变量。
- Mutable - 即使对象是常量,也允许修改类的成员。
修饰符
这些关键字用于修改数据类型的属性 -
- const - 表示变量的值在初始化后无法更改。
- volatile - 表示变量的值可能会意外更改,从而阻止某些编译器优化。
- signed - 表示数据类型可以保存正值和负值。
- unsigned - 表示数据类型只能保存非负值。
- short - 表示整数类型的较短版本。
- long - 表示整数类型的较长版本。
函数关键字
这些关键字定义了函数
- inline − 建议编译器尝试以内联方式扩展函数,从而减少函数调用的开销。
- virtual − 指示函数可以在派生类中被重写。
- explicit − 防止构造函数或转换运算符的隐式转换。
类和对象关键字
这些关键字是面向对象编程 (OOP) 中的基本概念,使开发人员能够定义和操作用户定义的数据类型。
- 类定义 − class、struct、union、enum
- 命名空间管理 − namespace、this
- 内存管理 − new、删除
访问说明符
访问说明符是面向对象编程中的关键字,用于定义类成员(属性和方法)对程序其他部分的可访问性或可见性。
- public
- protected
- private
异常处理关键字
这些关键字用于处理异常
- try − 它定义了一个要测试异常的代码块。
- catch − 它定义了一个代码块,用于处理相应 try 抛出的异常。
- throw − 用于指示异常的发生。
运算符关键字
运算符关键字允许您定义或更改运算符(如 +、-、* 等)如何与自定义数据类型(例如类)配合使用的关键字。
- sizeof
- typeid
- alignof
- alignas
命名空间关键字
这些关键字用于管理标识符的作用域
- namespace − 定义一个可以包含标识符的作用域,以避免名称冲突。
- using − 允许使用命名空间中的名称,无需限定。
类型转换关键字
这些关键字用于显式类型转换
- static_cast − 执行编译时类型检查和转换。
- dynamic_cast − 在继承层次结构中安全地转换指针或引用(需要 RTTI)。
- const_cast − 添加或删除 const 或 volatile限定符。
- reinterpret_cast − 它将任何指针类型转换为任何其他指针类型,无需安全检查。
其他关键字
C++ 库提供的其他一些关键字,除了数据类型、控制流或面向对象编程的核心功能之外,还可用于各种用途。
- using、typedef
- 类型特征 − decltype、static_assert
- 强制类型转换运算符 − static_cast、dynamic_cast、const_cast、reinterpret_cast
关键字 Vs.标识符
关键字由编程语言预定义和保留,它在语言中具有特定的功能和含义;而标识符是用户定义的程序元素名称,用于表示代码中的变量、函数和其他实体。
示例
关键字 | 标识符 |
int, float, while, public, private, class, return, etc. | myVariable, calculateSum, Person, _tempValue, etc. |