gpt4 book ai didi

c++ - unique_ptr 和按引用参数类型的指针

转载 作者:太空狗 更新时间:2023-10-29 19:37:23 25 4
gpt4 key购买 nike

我有代码试图将 unique_ptr 的底层指针传递给通过引用接受指针的方法:

unique_ptr<A> a;

func(a.get());

调用:

void func(A*& a){   // I am modifying what `a` points to in here

}

但我收到编译器错误,因为 get() 没有返回我预期的只是原始指针。是否有可能实现我在这里尝试做的事情?

最佳答案

不,这是一件好事。

问题是 get() 返回一个右值,而不是对 unique_ptr 内部指针的引用。因此你不能修改它。如果可以,您将完全搞乱 unique_ptr 的内部状态。

如果您想修改它,只需传递对 unique_ptr 本身的引用即可。

关于c++ - unique_ptr 和按引用参数类型的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35769578/

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