| 功能 |
提案 |
MSVC |
GCC |
ICC |
Clang |
替代方案
|
| Rvalue references |
N2118 |
10.0 |
4.3 |
12.0 |
2.9 |
Boost.Move
|
| Rvalue references for *this |
N2439 |
Nov 13 |
4.8.1 |
14.0 |
2.9 |
|
| Initialization of class objects by rvalues |
N1610 |
9.0 |
4.3 |
11.1 |
2.9 |
|
| Non-static data member initializers |
N2756 |
12.0 |
4.7 |
14.0 |
3.0 |
|
| Variadic templates |
N2242 |
Nov 12 |
4.3 |
12.1 |
2.9 |
|
| Extending variadic template template parameters |
N2555 |
Nov 12 |
4.4 |
12.1 |
2.9 |
|
| Initializer lists |
N2672 |
Nov 12 |
4.4 |
14.0 |
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 |
4.8.1 |
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 |
12.0 |
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 |
14.0 |
2.9 |
#define
|
| Forward declarations for enums |
N2764 |
11.0 |
4.6 |
14.0 |
3.1 |
|
| Generalized attributes |
N2761 |
14.0 |
4.8 |
12.1 |
3.3 |
|
| Generalized constant expressions |
N2235 |
Nov 13 |
4.6 |
14.0 |
3.1 |
|
| Alignment support |
N2341 |
Nov 13 |
4.8 |
No |
3.3 |
|
| Delegating constructors |
N1986 |
Nov 12 |
4.7 |
14.0 |
3.0 |
|
| Inheriting constructors |
N2540 |
Nov 13 |
4.8 |
15.0 |
3.3 |
|
| Explicit conversion operators |
N2437 |
Nov 12 |
4.5 |
14.0 |
3.0 |
|
| New character types |
N2249 |
14.0 |
4.4 |
14.0 |
2.9 |
|
| Unicode string literals |
N2442 |
14.0 |
4.5 |
14.0 |
3.0 |
|
| Raw string literals |
N2442 |
Nov 12 |
4.5 |
14.0 |
3.0 |
|
| Universal character name literals |
N2170 |
14.0 |
4.5 |
12.1 |
3.1 |
|
| User-defined literals |
N2765 |
VS14 CTP1 |
4.7 |
15.0 |
3.1 |
|
| Standard Layout Types |
N2342 |
11.0 |
4.5 |
No |
3.0 |
|
| Defaulted and deleted functions |
N2346 |
12.0 |
4.4 |
12.0 |
3.0 |
|
| Extended friend declarations |
N1791 |
10.0 |
4.7 |
12.0 |
2.9 |
|
| Extending sizeof |
N2253 |
Nov 13 |
4.4 |
14.0 |
3.1 |
|
| Inline namespaces |
N2535 |
14.0 |
4.4 |
14.0 |
2.9 |
|
| Unrestricted unions |
N2544 |
14.0 |
4.6 |
14.0 |
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 |
14.0 |
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 |
Nov 13 |
4.6 |
14.0 |
3.0 |
|
| Defining move special member functions |
N3053 |
14.0 |
4.6 |
14.0 |
3.0 |
|