【发布时间】:2013-04-09 20:13:47
【问题描述】:
(假设我不能使用专门为此目的设计的boost::noncopyable)
(假设我不能使用 C++11)
当使类不可复制时,我通常会看到以下语法:
class MyClass
{
public:
...
stuff
...
private:
MyClass(const MyClass&); // disables the copy constructor
MyClass& operator=(const MyClass&); // disables the copy assignment operator
};
这种语法似乎冗长。我认为我可以改用以下内容:
MyClass(MyClass&); // disables the copy constructor
void operator=(MyClass); // disables the copy assignment operator
这似乎更短(它只重复类名 3 次而不是 4 次;它还省略了 const 和 &)。
我的语法是否与其他语法完全相同?
有什么理由比另一个更喜欢一个吗?
【问题讨论】:
标签: syntax c++03 noncopyable