gpt4 book ai didi

c++ - 通过引用返回 unique_ptr 的 vector

转载 作者:行者123 更新时间:2023-11-28 02:26:14 25 4
gpt4 key购买 nike

这是我的代码

class Carl{
public:
std::vector<std::unique_ptr<int>> asd;
Carl(){
asd.push_back(std::unique_ptr<int>(new int(4)));
asd.push_back(std::unique_ptr<int>(new int(2)));
}

std::vector<std::unique_ptr<int>> & getVec(){
return asd;
}
};



int main(int argc, char** argv) {
Carl v;
std::vector<std::unique_ptr<int>> * oi = &(v.getVec());

//how to print first element?
return 0;
}

我的目标是在不放弃所有权的情况下访问唯一指针。

我的问题是,如果我通过引用返回并使用 vector 指针捕获引用的地址,它会起作用吗?

我知道通过引用接收会更好,但我正在尝试找出是否可以通过指针接收。

最佳答案

开始于:

std::vector<std::unique_ptr<int>> * oi

1) 解引用指针:

*oi;

2) 访问 vector 的第一个元素:

(*oi)[0];

3) 访问 unique_ptr 指向的 int:

*((*oi)[0]);

以上应该可行,但我认为这不是一个好的解决方案。当需要这样的解决方案时,设计几乎总是有问题。

关于c++ - 通过引用返回 unique_ptr 的 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30562839/

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