例如:
class Foo : boost::noncopyable
{
// ...
};
class Bar : public Foo
{
// ...
};
Bar
是不可复制的吗?
最佳答案
默认情况下它是不可复制的,除非您创建自定义复制构造函数并避免在那里调用基本复制构造函数。
另见 Explicitly-defaulted and deleted special member functions在 C++11 中引入。尽管将复制构造函数/运算符设为私有(private)可以解决问题,但编译器生成的诊断消息远非漂亮和明显,因此 C++11 中删除的复制构造函数/运算符可以解决此问题。
关于c++ - 在从 Boost 派生的类派生的类中自动禁止复制是不可复制的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6863859/