gpt4 book ai didi

c++ - unique_ptr 的这两种用法有什么区别?

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

a”类包含属性:boost::asio_ioservicesock_ 类型的service_sock_ strong>unique_ptr 类型 boost::asio::ip::tcp::socket

存在以下构造函数代码,其中 sock_ 正确指向新的套接字对象。

a::a() : service_(), sock_(new boost::asio::ip::tcp::socket(service_))
{
}

下面的构造函数代码没有。调试器将 sock_ 列为“空”。

a::a() : service_(), sock_(nullptr)
{
sock_(new boost::asio::ip::tcp::socket(service_));
}

为什么?

最佳答案

作为声明:

sock_(new boost::asio::ip::tcp::socket(service_));

根本不是有效的 c++。有没有想到

sock_.reset(new boost::asio::ip::tcp::socket(service_));

代替?

或者

sock_ = std::make_unique<boost::asio::ip::tcp::socket>(service_);

关于c++ - unique_ptr 的这两种用法有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48444163/

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