nullptr
C++11新特性,避免出现如下情况
void fun(int i) {
cout << "fun(int i )" << endl;
}
void fun(const char* i) {
cout << "fun(const char* i )" << endl;
}
int main() {
fun(nullptr); // ok
fun(NULL); // compile err
return 0;
}
override
避免在继承时,本意是重写,却由于参数类型的错误,变成了重载
class B
{
public:
virtual void f(short) {std::cout << "B::f" << std::endl;}
};
class D : public B
{
public:
//指定是对base的重写
virtual void f(int) override {std::cout << "D::f" << std::endl;} // compiler err
};
final
类似java中的机制,将函数写死,不允许派生类进行重写
class D2 : public B
{
public:
// 重写B的f函数,且不允许继承D2的派生类进一步重写f函数
virtual void f(int) override final {std::cout << "D2::f" << std::endl;}
};
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。