default和delete

在C++中,有四类特殊的成员函数,分别为:默认构造函数,默认析构函数,默认拷贝构造函数,默认赋值运算符。他们的作用为创建、初始化、销毁、拷贝对象。

 

 

虽然在类A中什么都没有定义,但是编译会通得过,因为编译器会认为有必要,于是会为我们默认创建。

如果我不想要编译器为我们创建,于是可以=delete函数,这样编译器就不会为我们创建:

 

 

这里不用关心权限问题,也就是不用关心是否为public还是private.

 

关于default:

 

 

等价于:

C++11中引入这个关键字,目前理解来看,就是少写了中括号,具体深入的用途还有待发掘。

 

关于delete的应用,比如单例模式:

 

  也就是只允许通过静态的方式创建一次。

 

posted @ 2022-01-23 11:34  sunshine_gzw  阅读(78)  评论(0编辑  收藏  举报