在gcc中,C++ 1z/C++ 17支持的状态是什么?

ein*_*ica 33 c++ gcc clang++

Clang有一个很好的页面描述了C++ 1z/C++ 17特性支持的项目状态(以及C++ 11和C++ 14,它是同一页面).

g ++有一个关于C++ 14特性的页面,但我找不到任何关于C++ 17/C++ 1z的内容.这是否正在进行,但只是没有出现在网络上?对于5.0版?

小智 30

截至今天,跟踪了gcc的C++ 1z语言支持:https://gcc.gnu.org/projects/cxx1z.html.有关libstdc ++的C++ 1z状态,请参阅https://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.201z.


Col*_*mbo 7

已经有一些支持; 以下两个摘要面向Clang的列表:

支持(截至2015年7月5日):

不受支持(截至2015年7月5日;包含指向有效示例用法的链接):

对于libstdc ++中库提议的实现状态,相应的手册有一个列表.

  • @Columbo:从4.9开始,这必须是一个扩展.请参见http://stackoverflow.com/a/25879737.您正在使用C++ 14模式进行编译,GCC 4.9甚至无法识别`-std = c ++ 1z`. (2认同)

ein*_*ica 6

更新了最终的总结:

  • GCC 8.x(及更高版本)完全支持所有C ++ 17。
  • 除了类模板参数推导外,GCC 7.x支持所有C ++ 17。
  • GCC 6.x(及更早版本)几乎不支持C ++ 17功能。

感谢@JanVanDijk提供指向完整功能表链接