对于支持多实例的类不应该删除拷贝构造等默认函数的原因,即为什么需要删除拷贝构造和析构等函数?是否一般就是用于单例类的时候,需要删除,支持多实例的话不需要进行删除?
拷贝构造主要是两个问题,一个是浅拷贝,即有指针成员的情况下,会在析构的时候释放两次。另一个是基类拷贝问题,如果有基类,会调用基类拷贝构造函数来调用基类,但是如果自定义了拷贝构造函数,就只会调用基类的构造函数,所以如果写了子类的拷贝构造函数,基类的也需要重新写。所以如果没有这两个问题,又需要支持多实例的话,可以不禁用拷贝构造函数,这样不会有太大的问题。
[C/C++]拷贝构造和拷贝赋值函数的删除场景
最新推荐文章于 2024-06-12 08:56:14 发布