目前,boost::optional<>
支持引用,但我的系统中的libstdc++的std::experimental::optional<>
不支持。这反映了标准可能采取的做法吗?
我知道optional提案的作者将可选的引用作为一个单独的提案分离出来,以使主要的optional提案更有机会被接受。是可选参考的提案被拒绝了还是停止了工作?
目前,boost::optional<>
支持引用,但我的系统中的libstdc++的std::experimental::optional<>
不支持。这反映了标准可能采取的做法吗?
我知道optional提案的作者将可选的引用作为一个单独的提案分离出来,以使主要的optional提案更有机会被接受。是可选参考的提案被拒绝了还是停止了工作?
这是否反映了可能进入标准的内容?
来自工作草案 ([20.5.2/1]):
需要模板实例化用于引用类型的程序[...]是不合法的。
我猜这回答了你的问题。
请注意,您仍然可以通过使用std::reference_wrapper
来解决该问题,如评论中所提到的@bobah。
std::reference_wrapper
。支持“裸”引用将打开一个让自己乱搞的可能性维度。 - bobahT
的值或类型reference_wrapper<T>()
的值时,该怎么做是明确无误的。 - bobah