我想在C++實現這個邏輯:C++ - 如何重複初始化對象?
Object obj(args);
while (obj.isOK()) {
obj = obj.next();
}
但由於Object
繼承boost::noncopyable
所以它沒有賦值運算符我不能使用這個確切的代碼。我可以將方法和構造函數添加到Object
(但不能將其複製),但是我不希望這樣做。其他問題有手動銷燬和放置新的解決方案,如果我爲Object
創建了一個新的構造函數,我可以做到這一點,但是再次,最好我不需要新的構造函數,這看起來像是一個非常討厭的解決方案。我有什麼替代方案?
你可以給我'對象'的代碼我的意思是定義 –
如果對象是可複製和可破壞的,你可能會memcpy它周圍。 –
@JamesRoot我們應該假設這個班級由於某種原因被製作爲不可複製的。 – juanchopanza