Posted on 2013-05-05 21:11
天边蓝 阅读(937)
评论(0) 编辑 收藏 引用 所属分类:
C++11
http://wiki.apache.org/stdcxx/C%2B%2B0xCompilerSupport
The following table lists C++0x features and their support in popular compilers.
Status Of C++ 0x Language Features in Compilers |
C++ 0x FEATURE |
PAPER(S) |
HP aCC |
EDG eccp |
GCC |
Intel C++ |
MSVC |
IBM XLC++ |
Sun/ Oracle C++ |
Embarcadero C++ Builder |
Digital Mars C++ |
Clang |
alignas |
N2341 |
|
|
4.8 |
|
|
|
|
|
|
3.0 |
alignof |
N2341 |
|
|
4.5 |
|
|
|
|
Yes |
|
2.9 |
Atomic operations |
N2427 |
|
|
4.4 |
13.0 |
11.0 |
|
|
|
|
3.1 |
auto |
v0.9: N1984, v1.0: N2546 |
|
4.1(v0.9) |
4.4(v1.0) |
11.0(v0.9) |
10.0(v0.9) |
11.1 (V1.0) |
|
|
|
Yes |
C99 preprocessor |
N1653 |
|
|
4.3 |
11.1 |
|
10.1 |
5.9 |
|
Yes |
Yes |
Concepts [removed] |
N2617 |
|
|
ConceptGcc |
|
|
|
|
|
|
|
constexpr |
N2235 |
|
|
4.6 |
13.0 |
|
12.1 |
|
|
|
3.1 |
decltype |
v1.0: N2343, v1.1: N3276 |
|
4.1(v1.0) |
4.3(v1.0) 4.8.1(v1.1) |
11.0(v1.0) |
10.0(v1.0), 11.0(v1.1) |
11.1 (V1.0) |
|
Yes |
|
2.9 |
Defaulted And Deleted Functions |
N2346 |
|
4.1 |
4.4 |
12.0 |
|
|
|
|
|
3.0 |
Delegating Constructors |
N1986 |
|
|
4.7 |
|
11.0 nov'12 |
11.1 |
|
|
|
3.0 |
Explicit conversion operators |
N2437 |
|
|
4.5 |
13.0 |
11.0 nov'12 |
12.1 |
|
Yes |
|
3.0 |
Extended friend Declarations |
N1791 |
|
4.1 |
4.7 |
11.0 |
10.0*** |
V1R11,11.1 |
|
|
|
2.9 |
extern template |
N1987 |
3, 5, 6 |
|
3.3 |
9 |
6.0 |
V1R11,11.1 |
|
Yes |
|
Yes |
Forward declarations for enums |
N2764 |
|
|
4.6 |
|
11.0 |
12.1 |
|
|
|
3.1 |
Inheriting Constructors |
N2540 |
|
|
4.8 |
|
|
|
|
|
|
|
Initializer Lists |
N2672 |
|
|
4.4 |
13.0 |
11.0 nov'12 |
|
|
|
|
3.1 |
Lambda expressions and closures |
v0.9: N2550, v1.0: N2658, v1.1: N2927 |
|
4.1(v0.9) |
4.5(v1.1) |
11.0(v0.9) 12.0(v1.0) |
10.0(v1.0), 11.0(v1.1) |
|
|
|
|
3.1 |
Local and Unnamed Types as Template Arguments |
N2657 |
|
|
4.5 |
12.0 |
10.0 |
|
|
|
|
2.9 |
long long |
N1811 |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Namespace Association |
N2535 |
|
|
4.4 |
|
|
11.1 |
|
|
|
2.9 |
New character types |
N2249 |
|
|
4.4 |
|
|
|
|
|
|
2.9 |
New function declaration syntax for deduced return types |
N2541 |
|
4.1 |
4.4 |
12.1 |
10.0 |
12.1 |
|
|
|
2.9 |
nullptr |
N2431 |
|
|
4.6 |
12.1* |
10.0 |
|
|
|
|
2.9 |
Unicode String Literals |
N2442 |
|
|
4.4 |
11.0* |
|
|
5.7 |
Yes |
|
3.0 |
Raw String Literals |
N2442 |
|
|
4.5 |
|
11.0 nov'12 |
|
|
|
|
Yes |
User-defined Literals |
N2765 |
|
|
4.7 |
|
|
|
|
|
|
3.1 |
Right Angle Brackets |
N1757 |
|
4.1 |
4.3 |
11.0 |
8.0 |
12.1 |
|
|
|
Yes |
R-Value References, std::move |
v1.0: N2118, v2.0: N2844, v2.1: N2844+, v3.0: N3053 |
|
4.1(v1.0) |
4.3(v1.0) 4.5(v2.1) 4.6(v3.0) |
11.1(v1.0) 12.0(v2.0) |
10.0(v2.0), 11.0(v2.1) |
12.1(v2.1) |
|
Yes |
|
Yes |
static_assert |
N1720 |
|
4.1 |
4.3 |
11.0 |
10.0 |
11.1 |
|
Yes |
|
2.9 |
Strongly-typed enums |
N2347 |
|
|
4.4 |
12.0 |
11.0 |
12.1 |
|
Yes |
|
2.9 |
Template aliases |
N2258 |
|
|
4.7 |
12.1 |
|
|
|
|
|
3.0 |
Thread-Local Storage |
N2659 |
|
|
4.8 (4.4****) |
11.1***
|
10.0*** |
|
5.9*** |
|
|
2.9**** |
Unrestricted Unions |
N2544 |
|
|
4.6 |
|
|
|
|
|
|
3.0 |
Built-in Type Traits |
N1836 |
6.16 |
4.0 |
4.3 |
10.0 |
8.0 |
|
|
Yes |
|
3.0 |
Variadic Templates |
v0.9: N2242, v1.0: N2555 |
|
4.1(v0.9) |
4.3(v0.9) 4.4(v1.0) |
12.1(v0.9) |
11.0 nov'12 |
11.1 (v0.9) |
|
|
|
2.9(1.0) |
Range-based for-loop |
N2930 |
|
|
4.6 |
13.0 |
11.0 |
|
|
|
|
3.0 |
override and final |
v0.8: N2928, v0.9: N3206, v1.0: N3272 |
|
|
4.7 |
12.0(v0.8)*** |
8.0(v0.8)*** 11.0(v1.0) |
|
|
|
|
2.9 |
Attributes |
N2761 |
|
|
4.8 |
12.1 |
|
|
|
|
|
|
ref-qualifiers |
N2439 |
|
|
4.8.1 |
|
|
|
|
|
|
2.9 |
Non-static data member initializers |
N2756 |
|
|
4.7 |
|
|
|
|
|
|
3.0 |
Dynamic initialization and destruction with concurrency (Magic statics) |
N2660 |
|
|
4.3 |
? |
|
|
|
|
|
2.9 |
* — 1) unicode string literals is a feature of the EDG frontend, but it is undocumented at Intel C++ compiler (/Qoption,cpp,"--uliterals" option enables it)