C++11的default和delete关键字

1. default关键字
用法:

如果类中只定义了一个有参数的构造函数,默认构造函数编译器就不再生成了。那么在外部创建类时,如果创建无参数的类就会出错:因为没有一个无参构造函数。
可以通过default关键字让构造函数恢复
classA() = default; 
该函数比用户自己定义的默认构造函数获得更高的代码效率

2. delete关键字
用法:

如果不想使用某个函数,可以使用=delete

3. noexcept关键字

由于动态异常声明throw很少使用,所以在C++11中被弃用了,throw也被noexcept所替代,使用noexcept修饰的函数不会抛出异常,如果抛出了异常,编译器可以选择直接调用std::terminate()终止程序的运行,这比基于异常机制的throw()在效率上会高出一些。
posted on 2020-04-14 15:56  JJ_S  阅读(2098)  评论(0编辑  收藏  举报