const是运行期常量, 效率较低
为了实现类型安全的define而提出的编译期常量, 在表达式面前加上constexpr来声明
编译器会在编译时期对constexpr进行值计算, 类似模板元编程
constexpr...必须是个常量表达式
常量表达式的值必须在使用前初始化, 但是如果没有代码用到其地址, 编译器可以不生成数据, 直接将常量表达式作为编译时期的值使用
编译时浮点常量表达式的精度至少要等于/高于运行时浮点数常量的精度...constexpr不能用于类的定义, 但是可以用于类的构造函数使得类也能在编译期当作实例使用....操作系统直接结束掉这个进程, 可能导致很多交互中的进程的中间状态发生问题
atexit()可以注册多个函数, 退出的时候以与注册相反的顺序调用
然而exit()由于会调用析构的原因, 退出程序的时候可能需要卸除大量堆内存导致退出速度很慢...[[likely]] (C++20) 标记此分支为热代码, 提示编译器可以进行优化
[[unlikely]] (C++20) 标记此分支为冷代码, 提示编译器可以进行优化
调用约定
参数传递和命名约定