gpt4 book ai didi

c++ - 将 unique_ptr 的 vector 传递给函数,const 引用

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:35:23 25 4
gpt4 key购买 nike

我通常会像这样传递一个包含原始指针的 vector :

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

我想知道你是否可以像这样对 unique_ptr 做同样的事情:

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

?它的意思是一样的吗?即只读。

最佳答案

是的,你可以。不,这不是同一件事:std::unique_ptr表示指针拥有的资源。通用原始指针可以具有许多其他语义。

关于 const 的正确性,使用迭代器或 operator[] 访问 vector 的元素将产生对 std::unique_ptr 的常量引用秒。用const std::unique_ptr<T> T 时无法重新分配指针指向的对象可以修改。

关于c++ - 将 unique_ptr 的 vector 传递给函数,const 引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34236035/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com