有一个boost::noncopyable,我的库里有我自己的不可复制的类。在最新的C ++标准中是否有std :: noncopyable或等效的敲门声?
这是一件小事,但是从这样一个阶级派生出来的意图更加清晰。
不,因为有一种标准方法可以使类不可复制:
class MyClass
{
MyClass(const MyClass&) = delete;
MyClass& operator=(const MyClass&) = delete;
}:
但是,通过从MyClass&&
重载构造函数,可以使不可复制的类可移动。
使该类不可复制的声明(上文)可以在公共或私人部分。
我确定你已经通过阅读CashCow的帖子弄明白了,但我想我也可以为不可复制的类提供基类。
class Noncopyable {
public:
Noncopyable() = default;
~Noncopyable() = default;
private:
Noncopyable(const Noncopyable&) = delete;
Noncopyable& operator=(const Noncopyable&) = delete;
};