C++11各编译器支持状况对比

C++11标准在去年8月份得到一致经过,这是自1998年后C++语言第一次大修订,对C++语言进行了改进和扩充。迄今为止已整整一年啦!想知道C++11在这一年里的发展状况如何吗?本文咱们一块儿来看下C++11在VS11 (Visual Studio 2012)、g++ 4.7和Clang 3.1三大编译器支持状况。并发

注:这里我并无详细描述非语言并发性变化,由于三大编译器对非语言并发性的支持状况依然有限。ide

94_120813143229_1.png

94_120813143245_1.png

94_120813143304_1.png

Clang在大多数C++11功能实现上处于领先地位,而Visual Studio则稍显落后。固然,这三个编译器都有着不错的子集适用于跨平台开发。函数

你能够使用类型推断、移动语义、右值引用、nullptr,static_assert,range-based参考对比,同时你还能够使用最终和重写关键字来进行友好的控制。此外,你还能够经过Enums(例举)强类型和提早声明,这里有几个改进后的模板包括extern keyword。线程

然而,Visual Studio并不支持较多请求的可变参数模板。另外一方面,可变参数宏在这三款编译器中只支持C99标准。继承构造函数和广义属性这些特性并非在任何地方都能得到支持。本地线程存储是是支持状况最好的一部分(经过非关键字标准)。继承

总的来讲,我认为C++11的发展仍是很不错的,至少C++11的子集适用于跨平台项目开发。开发

相关文章
相关标签/搜索