У меня есть некоторый код, который использует boost :: shared_array, это гарантирует, что массив остается «живым» на время асинхронной функции.
Я заметил, что boost :: shared_array теперь устарела, чтосейчас лучшая практика для такого рода кода?
void UdpServer::udpSendTo(const std::string &ip, unsigned short port, boost::shared_array<char> buffer, size_t bufferSize)
{
udp::resolver resolver(io_context_);
std::stringstream ss; ss << port;
udp::resolver::results_type endpoints = resolver.resolve(udp::v4(), ip, ss.str());
socket_.async_send_to(boost::asio::buffer(buffer.get(), bufferSize), *endpoints.begin(), [](boost::system::error_code ec, std::size_t bytes_sent) {
//send complete
});
}