以下代码片段的含义是什么?

时间:2015-01-23 14:05:43

标签: c++ private

我有一个名为BridgeChannel的类。它在私人部分有一些东西。我不知道他们做了什么。

private:

  BridgeChannel (const BridgeChannel &);
  BridgeChannel &operator = (const BridgeChannel &);

您的想法和知识非常值得赞赏。

1 个答案:

答案 0 :(得分:2)

这意味着复制构造函数和复制赋值运算符为private。这样,无法在BridgeChannel之外复制或分配BridgeChannel类型的对象。

如果您的类包含一些不可能,成本太高或无法复制的资源,这将非常有用。

在C ++ 11中,这个习惯用法已被替换为将这些函数标记为= delete,它起到了同样的作用,但提供了更清晰的错误消息。

简化这个习惯用语的旧助手是继承boost::noncopyable