【问题标题】:why there is boost::noncopyable class [duplicate]为什么有 boost::noncopyable 类 [重复]
【发布时间】:2012-03-05 13:31:00
【问题描述】:

可能重复:
What are the advantages of boost::noncopyable

为什么会有boost::noncopyable,我知道这提供了一个功能,即不能为boost::noncopyable 的子类制作副本,但是使用private copy constructor and assignment operator 可以轻松完成此操作

有什么需要拥有单独的类并将其继承到您的类。

【问题讨论】:

  • 请注意,这个副本中的大部分讨论在 C++11 的存在下已经完全过时了。正如 Howard Hinnant 所发布的,新的替代方案 Object(Object const&) = delete; 非常明确。

标签: c++ boost


【解决方案1】:

我认为这是为了可读性。

并不是每个人都知道私有化 c-ctor 和赋值运算符的目标。 boost::noncopyable 代表它的作用。

【讨论】:

  • 我会说要编写的 biolerplate 代码也少了很多。从boost::noncopyable 继承更简洁地声明了意图。
  • 私有继承也阻止友类访问私有复制函数,这会将编译时错误转换为链接时错误。每次都必须声明自己的不可复制类将更加样板。
猜你喜欢
  • 2011-06-17
  • 2016-08-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多