通常我使用this技术使用共享指针来管理与boost.asio异步操作中使用的缓冲区的生命周期。在异步boost.asio操作中使用std :: string的生命周期管理
如果我的缓冲区是std::string
对象(我猜这有点特别,因为它会执行一些内部引用计数)会怎么样?我是否还需要一个字符串对象的共享指针,我将其传递给异步操作的处理程序?或者是以下安全? (为什么/为什么不?)
void handler()
{
}
void func()
{
std::ostringstream stringbuilder;
// fill stringbuilder
socket.async_send(boost::asio::buffer(stringbuilder.str()), boost:bind(handler));
}