Rob*_*son 18 c++ standard-library
有一个boost :: noncopyable我在我的库里有我自己的noncopyable类.在最新的C++标准中是否有std :: noncopyable或等效的敲门声?
这是一件小事,但是从这样一个阶级派生出来的意图更加清晰.
Cas*_*Cow 16
不,因为有一种标准方法可以使类不可复制:
class MyClass
{
MyClass(const MyClass&) = delete;
MyClass& operator=(const MyClass&) = delete;
}:
Run Code Online (Sandbox Code Playgroud)
但是,通过从MyClass &&重载构造函数,可以使不可复制的类可移动.
使该类不可复制的声明(上文)可以在公共或私人部分.
您还必须以类似的方式禁用复制分配(并且在不允许复制的情况下允许复制分配是非常罕见的,尽管在某些情况下允许复制,这是标准允许的原因)
小智 13
我确定你已经通过阅读CashCow的帖子弄明白了,但我想我也可以为不可复制的类提供基类.
class Noncopyable {
public:
Noncopyable() = default;
~Noncopyable() = default;
private:
Noncopyable(const Noncopyable&) = delete;
Noncopyable& operator=(const Noncopyable&) = delete;
};
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
15239 次 |
最近记录: |