我我的C期間,在2個愚蠢的問題絆倒++ practixe:如何提高::不可複製工作
在C++ AFAIK拷貝構造函數和賦值操作符是不可繼承......所以如何提高::在這種情況下禁止這種東西的不可複製的幫助?
class X: private boost::noncopyable { };
是否有必要僅使用私有繼承來實現目標?是否只有一種方法來聲明賦值運算符
MyClass& operator= (const MyClass &);
聲明void operator= (const MyClass &);
或const MyClass& operator= (const MyClass &);
是否是一樣的東西?
它們不是繼承的。但編譯器生成的調用所有的基類複製c'tors ... – StoryTeller
它不必私下繼承,但這樣做可以防止愚蠢的代碼,如'boost :: noncopyable const&x = X {};' – Praetorian