C++11的default和delete关键字
1. default关键字
用法:
如果类中只定义了一个有参数的构造函数,默认构造函数编译器就不再生成了。那么在外部创建类时,如果创建无参数的类就会出错:因为没有一个无参构造函数。
可以通过default关键字让构造函数恢复
classA() = default;
该函数比用户自己定义的默认构造函数获得更高的代码效率
2. delete关键字
用法:
如果不想使用某个函数,可以使用=delete
3. noexcept关键字
由于动态异常声明throw很少使用,所以在C++11中被弃用了,throw也被noexcept所替代,使用noexcept修饰的函数不会抛出异常,如果抛出了异常,编译器可以选择直接调用std::terminate()终止程序的运行,这比基于异常机制的throw()在效率上会高出一些。