C++关键字和修饰符总结
C++ 关键字和修饰符是构成语言核心的保留字和标识符,它们为程序员提供了强大的功能来控制程序的行为和结构。以下是它们的分类与总结:
1. 基本数据类型
int
:整数类型float
:浮点数类型double
:双精度浮点数类型char
:字符类型bool
:布尔类型void
:无类型wchar_t
:宽字符类型char8_t
/char16_t
/char32_t
:C++11 和 C++20 引入的 UTF 字符类型
2. 类型修饰符
signed
:有符号类型修饰符unsigned
:无符号类型修饰符short
:短整型修饰符long
:长整型修饰符(如long long
)
3. 存储类说明符
auto
:自动推导类型(C++11 开始支持)register
:寄存器变量(已被废弃)static
:静态存储类extern
:外部链接mutable
:允许修改常量成员(仅在类中使用)
4. 访问控制
public
:公有访问权限private
:私有访问权限protected
:受保护访问权限
5. 控制流语句
if
/else
:条件分支switch
/case
/default
:多分支选择while
/do
/for
:循环控制break
:跳出循环或switch
continue
:跳过本次循环return
:返回函数值goto
:无条件跳转(不推荐使用)
6. 类和对象
class
:定义类struct
:定义结构体(与class
的主要区别是默认访问权限不同)union
:定义联合体this
:指向当前对象new
/delete
:动态内存分配和释放
7. 常量和指针相关
const
:常量修饰符volatile
:防止编译器优化(变量可能随外部环境变化)nullptr
:空指针(C++11 引入)
8. 异常处理
try
/catch
/throw
:异常处理机制
9. 模板和泛型
template
:模板声明typename
:标明模板参数类型decltype
:推导表达式的类型(C++11 引入)
10. 命名空间
namespace
:命名空间声明using
:引入命名空间或类型别名inline
:内联函数或命名空间
11. 操作符重载
operator
:定义操作符重载
12. 类型转换
static_cast
:静态类型转换dynamic_cast
:运行时类型转换(用于多态)const_cast
:移除或添加const
reinterpret_cast
:低级别重新解释类型
13. 并发相关(C++11 及之后)
thread_local
:线程本地存储atomic
:原子操作支持
14. 其他关键字
enum
/enum class
:枚举类型friend
:友元类或函数virtual
:虚函数或虚继承override
:重写父类的虚函数(C++11 引入)final
:禁止继承或重写(C++11 引入)explicit
:防止隐式转换构造函数constexpr
:编译期常量(C++11 引入,C++20 加强)alignas
/alignof
:对齐控制(C++11 引入)concept
:概念(C++20 引入,用于约束模板参数)
15. 特殊关键字
sizeof
:获取类型或变量大小typeid
:运行时类型信息static_assert
:静态断言(C++11 引入)
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 十柒!
评论