一些不太熟悉的C++关键字

154 阅读1分钟

noexcept

被这个关键字指定的函数不会抛出异常

void func(int x) noexcept;  //不抛出异常
void func1(int x);  //抛出异常

constexpr

constexpr表示这玩意儿在编译期就可以算出来(前提是为了算出它所依赖的东西也是在编译期可以算出来的)。而const只保证了运行时不直接被修改(但这个东西仍然可能是个动态变量)。

volatile

这个关键字是阻止编译器对这个变量优化,每次去读取数据的时候都去对应的内存地址去读。