클래스를 복사 불가능으로 선언하는 가장 좋은 구문은 무엇입니까?
클래스가 noncopyable하고, 나는 보통 다음 구문을 참조 (나는 C++ (11)는 사용할 수 없습니다 가정) (I 명시 적으로 그 목적을 위해 설계되었습니다 boost::noncopyable
를 사용할 수 없습니다 가정) :
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
및 &
생략).
내 구문이 다른 구문과 완전히 똑같습니까?
다른 하나를 선호하는 이유가 있습니까?