gpt4 book ai didi

c++ - 如何将 boost::shared_ptr<> 变成引用 (&)?

转载 作者:可可西里 更新时间:2023-11-01 15:09:31 26 4
gpt4 key购买 nike

所以我有一个类使用引用 (&) 和类似

的函数
void request(tcp::socket& socket); 

我开始将所有代码迁移到 boost::shared_ptr<tcp::socket>但我真的很想知道如何将我的 shared_ptr 转换为引用,以便能够使我的代码一个函数一个函数地演化,而不是在一次迭代中将我所有的代码都更改为 shared_ptr。那么如何将 shared_ptr 变成引用呢?

最佳答案

首先,它们不叫链接,而是引用。 :)
其次,boost::shared_ptr 可以像普通指针一样取消引用:

boost::shared_ptr<tcp::socket> p(new tcp::socket());
// can be done in two steps (dereference, pass)
tcp::socket& socket_ref = *p;
request(socket_ref);
// or one step
request(*p);
// ^ -- dereference the shared_ptr

关于c++ - 如何将 boost::shared_ptr<> 变成引用 (&)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5659099/

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