更多编译器对C++11的支持比较
上次对各编译器对C++11的支持比较之后,很多观众提议加入Intel C++ Compiler(ICC)和Clang。这次修订还加入了在VC11 Nov 12 CTP中对C++11的提升。上回表中的Yes/No标识也被我改成了写明支持一个feature的最低版本号,feature的顺序也调整了一下。为了方便查询,还加入了Proposal的链接。
C++11 Core Language Features
Language Feature | Proposal | MSVC | GCC | ICC | Clang | 替代方案 |
Rvalue references | N2118 | 10.0 | 4.3 | 12.0 | 2.9 | Boost.Move |
Rvalue references for *this | N2439 | No | No | No | 2.9 | |
Initialization of class objects by rvalues | N1610 | 9.0 | 4.3 | 11.1 | 2.9 | |
Non-static data member initializers | N2756 | No | 4.7 | No | 3.0 | |
Variadic templates | N2242 | Nov 12 | 4.3 | 12.1 | 2.9 | |
Extending variadic template template parameters | N2555 | Nov 12 | 4.4 | No | 2.9 | |
Initializer lists | N2672 | Nov 12 | 4.4 | No | 3.1 | |
Static assertions | N1720 | 10.0 | 4.3 | 11.1 | 2.9 | Boost.StaticAssert |
auto-typed variables | N1984 | 10.0 | 4.4 | 12.0 | 2.9 | Boost.Typeof |
Multi-declarator auto | N1737 | 10.0 | 4.4 | 12.0 | 2.9 | Boost.Typeof |
Removal of auto as a storage-class specifier | N2546 | 10.0 | 4.4 | 12.0 | 2.9 | Boost.Typeof |
New function declarator syntax | N2541 | 10.0 | 4.4 | 12.0 | 2.9 | Boost.ReturnType |
New wording for C++11 lambdas | N2927 | 10.0 | 4.5 | 12.0 | 3.1 | Boost.Lambda |
Declared type of an expression | N2343 | 10.0 | 4.3 | 12.0 | 2.9 | Boost.Typeof |
Incomplete return types | N3276 | 11.0 | No | 12.1 | 3.1 | |
Right angle brackets | N1757 | 9.0 | 4.3 | 11.1 | 2.9 | TR1 |
Default template arguments for function templates | DR226 | Nov 12 | 4.3 | 12.1 | 2.9 | |
Solving the SFINAE problem for expressions | DR339 | No | 4.4 | 12.1 | 2.9 | |
Template aliases | N2258 | No | 4.7 | 12.1 | 3.0 | |
Extern templates | N1987 | 9.0 | 4.3 | 11.1 | 2.9 | |
Null pointer constant | N2431 | 10.0 | 4.6 | 12.1 | 3.0 | 自己实现的null_ptr |
Strongly-typed enums | N2347 | 11.0 | 4.4 | No | 2.9 | #define |
Forward declarations for enums | N2764 | 11.0 | 4.6 | No | 3.1 | |
Generalized attributes | N2761 | No | 4.8 | 12.1 | No | |
Generalized constant expressions | N2235 | No | 4.6 | No | 3.1 | |
Alignment support | N2341 | No | 4.8 | No | 3.0 | |
Delegating constructors | N1986 | Nov 12 | 4.7 | No | 3.0 | |
Inheriting constructors | N2540 | No | 4.8 | No | No | |
Explicit conversion operators | N2437 | Nov 12 | 4.5 | No | 3.0 | |
New character types | N2249 | No | 4.4 | No | 2.9 | |
Unicode string literals | N2442 | No | 4.5 | No | 3.0 | |
Raw string literals | N2442 | Nov 12 | 4.5 | No | 3.0 | |
Universal character name literals | N2170 | No | 4.5 | No | 3.1 | |
User-defined literals | N2765 | No | 4.7 | No | 3.1 | |
Standard Layout Types | N2342 | 11.0 | 4.5 | No | 3.0 | |
Defaulted and deleted functions | N2346 | No | 4.4 | 12.0 | 3.0 | |
Extended friend declarations | N1791 | 10.0 | 4.7 | 12.0 | 2.9 | |
Extending sizeof | N2253 | No | 4.4 | No | 3.1 | |
Inline namespaces | N2535 | No | 4.4 | No | 2.9 | |
Unrestricted unions | N2544 | No | 4.6 | No | 3.1 | |
Local and unnamed types as template arguments | N2657 | 9.0 | 4.5 | 12.0 | 2.9 | |
Range-based for | N2930 | 11.0 | 4.6 | 13.0 | 3.0 | Boost.Foreach |
Explicit virtual overrides | N2928 | 11.0 | 4.7 | No | 3.0 | #define |
Minimal support for garbage collection and reachability-based leak detection | N2670 | 10.0 | No | No | No | |
Allowing move constructors to throw [noexcept] | N3050 | No | 4.6 | No | 3.0 | |
Defining move special member functions | N3053 | No | 4.6 | No | 3.0 |
C++11 Core Language Features: Concurrency
Language Feature | Proposal | MSVC | GCC | ICC | Clang | 替代方案 |
Sequence points | N2239 | No | No | No | No | |
Atomic operations | N2427 | 11.0 | 4.4 | 13.0 | 3.1 | Boost.Atomic |
Strong Compare and Exchange | N2748 | 11.0 | No | No | 3.1 | |
Bidirectional Fences | N2752 | 11.0 | No | No | 3.1 | |
Memory model | N2429 | No | No | No | No | |
Data-dependency ordering: atomics and memory model | N2664 | 11.0 | No | No | No | |
Propagating exceptions | N2179 | 10.0 | 4.4 | 12.0 | 2.9 | Boost.Exception |
Abandoning a process and at_quick_exit | N2440 | No | No | No | No | |
Allow atomics use in signal handlers | N2547 | No | No | No | 3.1 | |
Thread-local storage | N2659 | No | 4.8 | No | No | Boost.Thread |
Dynamic initialization and destruction with concurrency | N2660 | No | No | No | No |
C++11 Core Language Features: C99
Language Feature | Proposal | MSVC | GCC | ICC | Clang | 替代方案 |
__func__ predefined identifier | N2340 | No | 4.3 | 11.1 | 2.9 | __FUNCTION__ |
C99 preprocessor | N1653 | No | 4.3 | 11.1 | 2.9 | |
long long | N1811 | 9.0 | 4.3 | 11.1 | 2.9 | __int64 |
Extended integral types | N1988 | No | No | No | No |
转载于:https://www.cnblogs.com/gongminmin/archive/2012/12/24/2831062.html
更多编译器对C++11的支持比较相关推荐
- [C++]各编译器对C++11的支持比较
各编译器对C++11的支持比较 转载请注明出处为KlayGE游戏引擎,本文的永久链接为http://www.klayge.org/?p=2154 在KlayGE首次引入C++11特性之后,我顺便调研了 ...
- Spring框架5.1将提供对Java 11的支持
SpringOne Platform会议最近在华盛顿特区举行,会上发布和宣布了诸多事项.在9月25日上午的主题演讲中,Spring框架的联合创始人兼Pivotal的首席工程师Juergen Hoell ...
- Apache发布NetBeans 10.0,增强对JDK 11的支持
Apache软件基金会最近发布了NetBeans 10.0,主要特性包括增强对JDK 11的支持.添加对JUnit 5的支持以及重新集成了PHP.JavaScript和Groovy模块.在路线图上,A ...
- Windows 11 有望支持苹果 M1 Mac?微软和高通的秘密协议即将到期
上个月 5 号,Windows 11 正式发布,虽然伴随着不断的骂声,但不可否认的是,还是有许多人想尝尝这"苹果味儿"的 Windows 界面,其中就包括部分 M1 Mac 用户. ...
- 最新支持android的手机型号,科技知识:哪些手机可以升级安卓11 Android11支持机型大全...
今天要来给大家介绍下哪些手机可以升级安卓11 Android11支持机型大全,之所以要来给大家针对这个哪些手机可以升级安卓11 Android11支持机型大全进行一个介绍的主要目的是现在很多小伙伴门对 ...
- 云原生周报 | Fluent Bit下载量达到10亿次;对 Istio 1.11的支持已经结束
业界要闻 1. Fluent Bit下载量达到10亿次 摘要:如何快速有效地从企业中跨分布式环境创建的大量日志和事件数据中获取情报.这一问题变得越来越困难,随着组织迅速采用分布式.动态.云原生服务,这 ...
- 小米Android12,小米11系列支持安卓12开发者预览版 还有一加9系列
原标题:小米11系列支持安卓12开发者预览版 还有一加9系列 [手机中国新闻]北京时间5月19日凌晨,谷歌年度开发者大会落下帷幕,会上公布了Android 12的相关信息,可以用户自定义的主题受到了广 ...
- android不装电池打开无线,你用或者不用,Android 11都支持反向无线充电
原标题:你用或者不用,Android 11都支持反向无线充电 谷歌刚正式发布的Android 11开发者预览版中被XDA大神发现了名为"Battery share"的隐藏新功能.B ...
- Android11还能自定义相机吗,安卓用户又少了一项自由,Android 11不再支持更改默认相机程序...
原标题:安卓用户又少了一项自由,Android 11不再支持更改默认相机程序 来源:量子位 关注前沿科技 萧萧 发自 凹非寺 量子位 报道 | 公众号 QbitAI 萧萧 发自 凹非寺 量子位 报道 ...
- linux g++开启C++11/14支持
linux g++开启C++11/14支持 sudo vim ~/.bashrc 在some more ls aliases注释块的地方添加下面这两行: alias g++11='g++ -g -Wa ...
最新文章
- 二进制与加减乘除的物理层实现
- torch 列最大值
- [Luogu1821][USACO07FEB]银牛派对Silver Cow Party
- 前端学习(1964)vue之电商管理系统电商系统之渲染分类参数的tab页标签
- VMware vSphere 文档--总目录vSphere 5.5 6.0 6.5 6.7 7.0
- python-day74--知识总体总结
- spring mysql 中文_Spring+mysql+velocity 中文问题解决方法
- linux内核C -- 第10课:内联函数探究
- java读取nfc数据_JAVA有关NFC读卡器读取数据
- [创业-18]:财务报表之资产负债表
- 【uni-app】模仿微信实现简易发送/取发语音功能
- 如何在Excel中将文件大小中有GB、MB的信息转化成统一格式
- 单细胞论文记录(part7)--DL and alignment of spatially resolved single-cell transcriptomes with Tangram
- Ubuntu 安装 php8.1
- Linux IP 地址修改
- 初次入坑解析的小程序(决定写代码风格的小程序)
- 现在入手5G手机合适吗?
- C语言005:常见例题
- 【TV Picture Quality - 03】TV屏幕解读
- vs2015 +qt basler相机添加pylon配置