簡體   English   中英

用另一個unique_ptr替換向量中的unique_ptr對象

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM