【发布时间】:2017-03-15 22:28:02
【问题描述】:
std::optional<int&> xx; 只是不为最新的 gcc-7.0.0 快照编译。 C++17 标准是否包含 std::optional 以供参考?如果没有,为什么? (我猜在专用专业中使用指针的实现不会造成任何问题。)
【问题讨论】:
-
@Someprogrammerdude
optional不是这样工作的。否则,您也不能拥有optional<non_default_constructible>。您可以编写一个支持引用类型的可选类型。 Boost的可以。标准只是选择不这样做(由于operator=)。 -
几乎整个参考点是,它们不是可选的。
-
std::optional< std::reference_wrapper<int> >怎么样:-D -
@M.M 实际上在我的代码中,
std::optoinal<std::variant<T&>>։) 更方便
标签: c++ gcc reference optional c++17