C++11各编译器支持情况对比
2012-08-15 09:16
316 查看
原文地址:http://sd.csdn.net/a/20120813/2808540.html
C++11标准在去年8月份获得一致通过,这是自1998年后C++语言第一次大修订,对C++语言进行了改进和扩充。迄今为止已整整一年啦!想知道C++11在这一年里的发展情况如何吗?本文我们一起来看下C++11在VS11 (Visual Studio 2012)、g++ 4.7和Clang 3.1三大编译器支持情况。
注:这里我并没有详细描述非语言并发性变化,因为三大编译器对非语言并发性的支持情况依然有限。
Clang在大多数C++11功能实现上处于领先地位,而Visual Studio则稍显落后。当然,这三个编译器都有着不错的子集适用于跨平台开发。
你可以使用类型推断、移动语义、右值引用、nullptr,static_assert,range-based参考对比,同时你还可以使用最终和重写关键字来进行友好的控制。此外,你还可以通过Enums(例举)强类型和提前声明,这里有几个改进后的模板包括extern keyword。
然而,Visual Studio并不支持较多请求的可变参数模板。另一方面,可变参数宏在这三款编译器中只支持C99标准。继承构造函数和广义属性这些特性并不是在任何地方都能获得支持。本地线程存储是是支持情况最好的一部分(通过非关键字标准)。
总的来说,我认为C++11的发展还是很不错的,至少C++11的子集适用于跨平台项目开发。
C++11标准在去年8月份获得一致通过,这是自1998年后C++语言第一次大修订,对C++语言进行了改进和扩充。迄今为止已整整一年啦!想知道C++11在这一年里的发展情况如何吗?本文我们一起来看下C++11在VS11 (Visual Studio 2012)、g++ 4.7和Clang 3.1三大编译器支持情况。
注:这里我并没有详细描述非语言并发性变化,因为三大编译器对非语言并发性的支持情况依然有限。
Clang在大多数C++11功能实现上处于领先地位,而Visual Studio则稍显落后。当然,这三个编译器都有着不错的子集适用于跨平台开发。
你可以使用类型推断、移动语义、右值引用、nullptr,static_assert,range-based参考对比,同时你还可以使用最终和重写关键字来进行友好的控制。此外,你还可以通过Enums(例举)强类型和提前声明,这里有几个改进后的模板包括extern keyword。
然而,Visual Studio并不支持较多请求的可变参数模板。另一方面,可变参数宏在这三款编译器中只支持C99标准。继承构造函数和广义属性这些特性并不是在任何地方都能获得支持。本地线程存储是是支持情况最好的一部分(通过非关键字标准)。
总的来说,我认为C++11的发展还是很不错的,至少C++11的子集适用于跨平台项目开发。
相关文章推荐
- C++11各编译器支持情况对比
- C++11各编译器支持情况对比
- 目前主流编译器对C++11特性的支持情况
- VS2010编译器工具cl对c++11标准支持情况測试
- 支持c++11标准的编译器对比
- C++11编译器支持情况分析
- VS2010编译器工具cl对c++11标准支持情况测试
- CentOS 6.5平台使用CLion开发程序,编译器支持C++11的方法
- 主流编译器对C++11的支持现状比较
- 微软更新了 C++ 编译器,支持 C++11
- 微软编译器增加了对C++11的支持
- 自己写的function/bind应用于不支持C++11的编译器
- 测试编译器是否支持C++11新特性(1)
- zt各编译器对C++11的支持
- 各编译器对C++11的支持比较
- Qt Creator编译器设置:添加C++11支持
- 测试你的编译器是否支持c++0x(c++11)
- C++11 Features in Visual C++ 11 - VS2010对C++11特性支持的情况
- cmake检测g++编译器是否支持c++11