【问题标题】:std::move on boost::asio::ip::tcp::socket [duplicate]std::move on boost::asio::ip::tcp::socket [重复]
【发布时间】:2020-05-03 10:57:26
【问题描述】:

我正在阅读C++中的函数式编程这本书和第12章的源代码。

https://gitlab.com/manning-fpcpp-book/code-examples/-/blob/master/chapter-12/bookmark-service/service.cpp#L19

在这一行中,std::move 应用于m_socket

m_socket被移动的第一个会话对象构造完成后,m_socket仍然用于构造后面的会话对象。

m_socket在移动操作后还有效吗?

【问题讨论】:

  • 看看Igor R.的回答here

标签: c++ boost-asio move move-semantics asio


【解决方案1】:

即使在“窃取”对象以避免不必要的复制之后,它仍然使对象处于有效状态。所以这取决于之后如何使用该变量。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-08
    • 1970-01-01
    • 2017-04-27
    • 1970-01-01
    • 1970-01-01
    • 2010-10-10
    • 1970-01-01
    • 2015-01-13
    相关资源
    最近更新 更多