【发布时间】:2014-12-07 22:08:10
【问题描述】:
如果我想禁止复制构造/分配,那么是:
class foo
{
public:
foo(const foo&) = delete;
foo& operator = (const foo&) = delete;
};
同:
class foo
{
private:
foo(const foo&) = default;
foo& operator = (const foo&) = default;
};
哪种方法是正确的,为什么?
【问题讨论】:
-
在后者
foo的实例被允许复制自己 -
朋友类/方法也是如此,他们都可以访问
标签: c++ c++11 default-constructor