Будет ли двигаться SSL :: контекст вызовет UB?C++

Программы на C++. Форум разработчиков
Anonymous
Будет ли двигаться SSL :: контекст вызовет UB?

Сообщение Anonymous »

У меня есть какой -то код, который создает SSL :: Stream . Объект ssl :: stream принимает контекст ssl :: code> в своем конструкторе по ссылке. Создание SSL :: Stream выглядит так

Код: Выделить всё

ssl::context ssl_context(boost::asio::ssl::context::tls_client);
ssl_context.set_options(boost::asio::ssl::context::default_workarounds);
ssl::stream ssl_stream(std::move(socket), ssl_context);
< /code>
Позже я хочу перенести владение объектами ssl_context и ssl_stream в другой объект, как это: < /p>
session_t sess(std::move(ssl_stream), std::move(ssl_context));
будет дальнейшее использование ssl :: stream привести к ub?
я спрашиваю, потому что ssl :: stream принимает ssl :: context по ссылке, и мы перемещаем code :: code>, что было передано в SSL :: Stream . SSL :: Stream имеет висящую ссылку на него и использует эту свисающую ссылку для доступа к контексту SSL. Но я не уверен.

Подробнее здесь: https://stackoverflow.com/questions/797 ... t-cause-ub

Вернуться в «C++»