c++ - g++/libstdc++中std::optional的实现状态?

标签 c++ g++ libstdc++ option-type c++14

由于我正在开发一个将于 2014 年左右公开发布的 C++ 库,因此我目前需要做出设计选择。将与 C++14 一起发布的非常有用的工具之一是 std::optional。我想知道 g++/libstdc++ 的版本我可以使用 -std=c++1y

最佳答案

更新(2016 年 10 月): std::optional不在最终的 C++14 标准中,因此它永远不会与 -std=c++1y 一起使用.相反,GCC 4.9 包含 std::experimental::optional可用 -std=c++1y .

GCC 7 将包括 std::optional-std=c++1z即 C++17。

原始答案(2013 年 6 月):

目前未实现,见 http://gcc.gnu.org/ml/libstdc++/2013-06/msg00032.html了解 GCC 主干中 C++14 功能的状态。

何时实现取决于某人何时自愿完成这项工作,因此无法预测。

我会预计它将为 GCC 4.9 完成,它应该在 C++14 标准之前不久发布,但不能保证。不过,它不太可能被添加到 GCC 4.8,因为它已经发布并且与 GCC 4.9(即 GCC 颠覆主干)不同的是 __cplusplus宏具有相同的值 -std=c++11-std=c++1y因此对于 GCC 4.8,无法选择性地启用 -std=c++1y 的功能。仅限。

关于c++ - g++/libstdc++中std::optional的实现状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17013708/

相关文章:

c++ - 那里有一些字符串问题

visual-studio - MSVC 相当于 gcc 的 -Wundef 吗?

linux - 使用定制的 gcc(g++) 构建 C++ 项目

c++ - std::swap 丢失了基于类型的别名分析使用的信息?

c++ - 为什么 libc++ 的 std::string 实现占用 3 倍于 libstdc++ 的内存?

c++ - 如何将元数据附加到视频的每一帧

c++ - GPLv2 会阻止我在我的网站上使用 KLone 吗?

c++ - 是否有预处理器定义来区分 gcc 和 g++ 代码?

linux - 如何在Linux/gcc上创建与pthread和libstdc++静态链接的共享对象?

c++ - 为什么编译器接受带有 long double 文字的 float 的初始化?