noncopyable被继承后派生类对象可以正常的构造和析构,但是派生类对象无法进行拷贝构造和赋值操作。
派生类的拷贝构造和赋值首先会调用基类的拷贝构造和赋值,但是基类的拷贝构造和复制已经被delete掉了,也就是说我们的noncopyable类的好处就是让由它继承而来的的派生类不可拷贝构造和赋值。
#pragma once
/*
noncopyable 被继承后 派生类对象可以正常调用构造函数和析构函数
但是派生类对象无法使用拷贝构造函数 和 赋值操作
*/
class noncopyable
{
public:
noncopyable(const noncopyable&) = delete;
noncopyable& operator=(const noncopyable&) = delete;
protected:
noncopyable() = default;
~noncopyable() = default;
};
noncopyable类设计用于阻止继承它的派生类进行拷贝构造和赋值。尽管派生类可以正常构造和析构,但拷贝构造和赋值操作在基类中被删除,确保了对象不可复制的安全性。
1180

被折叠的 条评论
为什么被折叠?



