[英]Replacing unique_ptr object in a vector with Another unique_ptr
我想用另一個索引替換該索引處的unique_ptr對象,這實際上是“刪除”向量中當前的指針,並將classObj移至該位置。
std::unique_ptr<ClassName> classObj(new className());
classNameStorage[5] = classObj; // classNameStorage.size() > 5
上面的代碼,使用賦值運算符無效。
classNameStorage[5] = std::move(classObj);
std::unique_ptr
是僅移動類。 因此,在實例具有名稱(即lvalue )的情況下,必須將其包裝在std::move
(將“轉換”為rvalue )中,以將數據移出。
有關更多詳細信息,請參見此處 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.