有一个提升::不可复制 http://www.boost.org/doc/libs/master/libs/core/doc/html/core/noncopyable.html我的图书馆里有我自己的不可复制的课程。最新的 C++ 标准中是否有 std::noncopyable 或等效内容?
这是一件小事,但从这样一个类派生使得意图更加清晰。
不,因为有一种标准方法可以使类不可复制:
class MyClass
{
MyClass(const MyClass&) = delete;
MyClass& operator=(const MyClass&) = delete;
}:
但是,可以通过重载构造函数来使不可复制的类可移动MyClass&&
.
使类不可复制的声明(上面)可以位于公共部分或私有部分。
如果你不想每次都输入所有内容,你可以随时定义一个宏,如下所示:
#define NONCOPYABLE(Type) Type(const Type&)=delete; Type& operator=(const Type&)=delete
class MyClass
{
NONCOPYABLE(MyClass);
// etc.
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)