通常我使用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));
}