有一个boost::noncopyable我的图书馆里有我自己的不可复制的类。在最新的C++标准中是否存在std::noncopyable或等效项?这是一件小事,但从这样一个类派生出来的意图更加清晰。 最佳答案 不,因为有一种标准方法可以使类不可复制:classMyClass{MyClass(constMyClass&)=delete;MyClass&operator=(constMyClass&)=delete;}:但是,一个不可复制的类可以通过重载MyClass&&的构造函数来移动。使类不可复制的声明(上)可以在公共(publi
为了防止复制一个类,你可以很容易地声明一个私有(private)的复制构造函数/赋值操作符。但是你也可以继承boost::noncopyable。在这种情况下使用boost有什么优点/缺点? 最佳答案 我没有看到任何文档优势:#includestructA:privateboost::noncopyable{};对比:structA{A(constA&)=delete;A&operator=(constA&)=delete;};当您添加仅移动类型时,我什至认为文档具有误导性。以下两个示例不可复制,但可以移动:#includestru
为了防止复制一个类,你可以很容易地声明一个私有(private)的复制构造函数/赋值操作符。但是你也可以继承boost::noncopyable。在这种情况下使用boost有什么优点/缺点? 最佳答案 我没有看到任何文档优势:#includestructA:privateboost::noncopyable{};对比:structA{A(constA&)=delete;A&operator=(constA&)=delete;};当您添加仅移动类型时,我什至认为文档具有误导性。以下两个示例不可复制,但可以移动:#includestru