![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Optional referencesBoost , Boost.Optional , Tutorial
|
![]() |
Caution |
---|---|
На компиляторах, которые не соответствуют стандартным C++ правилам связывания ссылок, некоторые операции с дополнительными ссылками отключены для предотвращения тонких ошибок. Подробнее см.Зависимость и переносимость. |
Rvalue-ссылки и lvalue-ссылки на const имеют возможность в C++ продлить срок службы временного элемента, к которому они привязаны. Необязательные ссылки не обладают такой способностью, поэтому во избежание неожиданных эффектов невозможно инициализировать необязательные ссылки из временных. Опциональные ссылки на rvalue полностью отключены. Кроме того, инициализация и назначение необязательной ссылки на const из ссылки rvalue отключены.
const int& i = 1; // legal optional<const int&> oi = 1; // illegal
Статья Optional references раздела Boost.Optional Tutorial может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
реклама |