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