2
http://www.boost.org/doc/libs/1_59_0/doc/html/boost_asio/reference/async_write/overload1.html 它规定缓冲区“调用者保留底层内存块的所有权,必须保证它们在调用处理程序之前保持有效。”如何将boost :: asio :: write的缓冲区存储为shared_ptr?
request_buff_ = std::make_shared<boost::asio::const_buffer> (boost::asio::buffer(request_str));
其中request_str是的std :: string:
为了做到这一点,我首先通过创建一个shared_ptr缓冲区。写入之前然后解除引用:
boost::asio::write(socket, *request_buff_);
获取以下编译错误:
'const_iterator': is not a member of 'boost::asio::const_buffer'