背景 今天看公司的编程规范,其中有个原则:
如果你的类不需要拷贝/移动操作,请显式的通过在public域中(private本身就是不能显式的直接调用的)使用 =delete 或其他手段禁用之;
具体示例: // MyClass is neither copyable nor movable.
MyClass(const MyClass&) = delete;
MyClass& operator=(const MyClass&) = delete;
对其中的 =delete不了解,之前没用过,查了一下以此为记; =delete使用方式C++11中,当我们定义一个类的成员函数时,如果后面使用"=delete"去修饰,那么就表示这个函数被定义为deleted,也就意味着这个成员函数不能再被调用,否则就会出错。
|