- auto: 用于自动类型推断,让编译器根据变量的初始化表达式推导出其类型。
- const: 声明常量,使得变量的数值在初始化后不能被修改。
- constexpr: 用于声明常量表达式,使得函数或变量在编译期间就能被计算出来。
1 | constexpr int size = 10; // 声明常量 |
- static: 声明静态变量或函数,使得它们在程序的整个生命周期内保持其存在,即使超出了其定义的作用域。
- volatile: 告知编译器,某个变量的值可能会在程序的执行过程中被意外地改变,应该禁止对其进行某些优化。
- extern: 声明一个变量或函数是在其他文件中定义的,使得在当前文件中可以引用它。
- mutable: 用于声明类的成员变量,在
const
成员函数中允许修改这些变量。
1 | class person |
- inline: 声明函数为内联函数,建议编译器在调用时将函数体直接插入到调用处,以减少函数调用的开销。
1 | inline int add(int a, int b) { |
- explicit : 用于修饰单参数的构造函数,防止隐式类型转换发生。
1 | class MyClass { |
- virtual: 声明虚函数,用于实现多态性,在派生类中可以重写基类的虚函数。
- override: 用于在派生类中标记重写基类的虚函数。
1 | class A{ |
- final: 用于标记类不能被继承,或者虚函数不能被重写。
1 | class Base{ |
- nullptr: 表示空指针常量。
- typename: 用于告知编译器某个名称是类型而不是变量。
- try/catch/throw: 用于异常处理的关键字。
- namespace: 声明命名空间,用于避免命名冲突。