关键字
1、noexcept
告知编译器不会丢出异常异常,可以放心优化。对于std::vetcor,其申请新申请内存成长时,元素的移植构造函数必须有noexcept关键字,否则只会调用拷贝构造
用法: void foo() noexcept {}
2、override
告知编译器该函数是继承父类函数的,编译器就会去检查派生类是否有该函数,否则报错
用法:virtual void vfunc() override {}
3、 final
继承截止
用法: 对于类 class Son final {}; 对于函数 virtual func() final {}
4、decltype
用于获取对象的类型
用法: decltype(tmp)
5、constexpr
可以用来修饰变量、函数、构造函数。一旦以上任何元素被constexpr修饰,那么等于说是告诉编译器 “请大胆地将我看成编译时就能得出常量值的表达式去优化我”