簡體   English   中英

將unique_ptr的向量傳遞給函數,const引用

[英]Pass a vector of unique_ptr to function, const reference

我通常會傳遞一個包含原始指針的向量,如下所示:

someFunc(const std::vector<MyClass*>& classList){..}

我想知道你是否可以像這樣對unique_ptr做同樣的事情:

 someFunc(const std::vector<std::unique_ptr<MyClass>>& classList){..}

它是否意味着同樣的事情?,即只讀。

是的你可以。 不,它並不意味着相同的事情: std::unique_ptr表示指針所擁有的資源。 通用原始指針可以具有許多其他語義。

關於const的正確性,使用迭代器或operator[]訪問向量的元素將產生對std::unique_ptr的常量引用。 使用const std::unique_ptr<T> ,無法重新分配指針,同時可以修改指向的T對象。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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