移动ctor困境

The*_* do 2 c++ move-semantics c++11

为了禁用我的课的拷贝,我想声明为private但没有定义operator=(const MyClass&)MyClass(const MyClass&)-我对这个班也禁止移动构造函数?

Mot*_*tti 5

仍然需要讨论是否隐式生成移动构造函数(以及何时).

请参阅Stroustrup撰写的2010-10-17中的PDF文字以及副标题默认情况下应生成移动操作吗?

顺便说一下,在C++ 0x中你可以= delete运行而不是让它们私有化和未定义.

class non_copyable {
    public:
    non_copyable(const non_copyable&) = delete;
    non_copyable& operator=(const non_copyable&) = delete;
};
Run Code Online (Sandbox Code Playgroud)