从 Boost 1.56 开始,Boost optional 支持移动语义。在那种情况下,以下构造有意义吗?
boost::optional<SomeType> getValue()
{
if (value_available) { // value_available is a boolean
return std::move(value); // value is of type SomeType
} else {
return boost::none;
}
}