반응형
C++ compiler support
This page is work-in-progress and not yet up to date |
The following table presents compiler support for new C++ features. These include C++11, C++14 and various technical specifications.
C++ feature | Paper(s) | Version | HP aCC | EDG eccp | GCC | Intel C++ | MSVC | IBM XLC++ | Sun/Oracle C++ | Embarcadero C++ Builder | Digital Mars C++ | Clang |
---|---|---|---|---|---|---|---|---|---|---|---|---|
alignas | N2341 | c++11 | 4.8 | 4.8 | 15.0 | 11.0* | 5.13 | 3.0 | ||||
alignof | N2341 | c++11 | 4.8 | 4.5 | 15.0 | 14.0 | 5.13 | Yes | 2.9 | |||
Atomic operations | N2427 | c++11 | Yes | 4.4 | 13.0 | 11.0 | 3.1 | |||||
auto | N1984(v1.0) | c++11 | A.06.25 | 4.1(v0.9) | 4.4(v1.0) | 11.0(v0.9) 12.0(v1.0) | 10.0(v0.9) | 11.1(v1.0) | 5.13 | Yes | ||
C99 preprocessor | N1653 | A.06.25 | 4.1 | 4.3 | 11.1 | 14.0* | 10.1 | 5.9 | Yes | Yes | ||
constexpr | N2235 | c++11 | A.06.28 | 4.6 | 4.6 | 13.0* 14.0 | 14.0* 14.0 | 12.1* 13.1 | 5.13 | 3.1 | ||
decltype | v1.0: N2343 v1.1: N3276 | c++11 | A.06.25 | 4.1(v1.0) | 4.3(v1.0) 4.8.1(v1.1) | 11.0(v1.0) 12.0(v1.1) | 10.0(v1.0) 11.0(v1.1) | 11.1(v1.0) | 5.13 | Yes | 8.52(v1.0) | 2.9 |
Defaulted and deleted functions | N2346 | c++11 | A.06.25 | 4.1 | 4.4 | 12.0 | 12.0 | 13.1 | 5.13 | 3.0 | ||
Delegating constructors | N1986 | c++11 | A.06.28 | 4.7 | 4.7 | 14.0 | 12.0 | 11.1 | 5.13 | 3.0 | ||
Explicit conversion operators | N2437 | c++11 | A.06.27 | 4.4 | 4.5 | 13.0 | 12.0 | 12.1 | 5.13 | Yes | 3.0 | |
Extended frienddeclarations | N1791 | c++11 | A.06.25 | 4.1 | 4.7 | 11.1* 12.0 | 10.0* 12.0 | 11.1 | 5.13 | 2.9 | ||
extern template | N1987 | c++11 | A.06.25 | 3.9 | 3.3 | 9.0 | 6.0 | 11.1 | 5.13 | Yes | Yes | |
Forward enumdeclarations | N2764 | c++11 | 4.5 | 4.6 | 11.1* 14.0 | 11.0 | 12.1 | 5.13 | 3.1 | |||
Inheriting constructors | N2540 | c++11 | 4.8 | 4.8 | 15.0 | 14.0 | 5.13 | 3.3 | ||||
Initializer lists | N2672 | c++11 | A.06.28 | 4.5 | 4.4 | 13.0* 14.0 | 12.0 | 5.13 | 3.1 | |||
Lambda expressions | v0.9: N2550 | c++11 | A.06.25 | 4.1(v1.1) | 4.5(v1.1) | 12.0(v1.1) | 10.0(v1.0) 11.0(v1.1) | 5.13 | 3.1 | |||
Local and unnamed types as template parameters | N2657 | A.06.27 | 4.2 | 4.5 | 12.0 | 10.0 | 5.13 | 2.9 | ||||
long long | N1811 | c++11 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Inline namespaces | N2535 | c++11 | A.06.28 | 4.5 | 4.4 | 14.0 | 14.0 | 11.1 | 5.13 | 2.9 | ||
New character types | N2249 | c++11 | A.06.27 | 4.4 | 4.4 | 12.1* 14.0 | 14.0 | 5.13 | 8.52 | 2.9 | ||
Trailing function return types | N2541 | c++11 | A.06.27 | 4.1 | 4.4 | 12.0 | 10.0 | 12.1 | 5.13 | 2.9 | ||
nullptr | N2431 | c++11 | A.06.27 | 4.2 | 4.6 | 12.1 | 10.0 | 13.1 | 5.13 | 8.52 | 2.9 | |
Unicode string literals | N2442 | c++11 | A.06.28 | 4.7 | 4.4 | 11.0* | 14.0 | 5.7 | Yes | 8.52 | 3.0 | |
Raw string literals | N2442 | c++11 | A.06.28 | 4.7 | 4.5 | 14.0 | 12.0 | 5.13 | 8.52 | Yes | ||
User-defined literals | N2765 | c++11 | 4.8 | 4.7 | 15.0 | 14.0 | 3.1 | |||||
Right angle brackets | N1757 | c++11 | 4.1 | 4.3 | 11.0 | 8.0 | 12.1 | 5.13 | Yes | |||
R-value references | v1.0: N2118 | c++11 | A.06.25 | 4.5(v3.0) | 4.3(v1.0) 4.5(v2.1) 4.6(v3.0) | 11.1(v1.0) 12.0(v2.0) 14.0(v3.0) | 10.0(v2.0) 11.0(v2.1) 14.0(v3.0) | 12.1(v2.1) | 5.13 | Yes | Yes | |
static_assert | N1720 | c++11 | A.06.25 | 4.1 | 4.3 | 11.0 | 10.0 | 11.1 | 5.13 | Yes | 8.52 | 2.9 |
Strongly-typed enum | N2347 | c++11 | A.06.25 | 4.0 | 4.4 | 13.0 | 11.0 | 12.1 | 5.13 | Yes | 2.9 | |
Template aliases | N2258 | c++11 | A.06.27 | 4.2 | 4.7 | 12.1 | 12.0 | 5.13 | 3.0 | |||
Thread-local storage | N2659 | c++11 | 4.8 | 4.4* 4.8 | 11.1* 15.0* | 10.0* 14.0 | 5.9* | 8.52* | 3.3* 3.3 | |||
Unrestricted unions | N2544 | c++11 | A.06.28 | 4.6 | 4.6 | 14.0* | 14.0 | 5.13 | 3.0 | |||
Type traits | N1836 | c++11 | 6.16 | 4.0 | 4.3 | 10.0 | 8.0 | 5.13 | Yes | 3.0 | ||
Variadic templates | v0.9: N2242 v1.0: N2555 | c++11 | A.06.27 | 4.1(v0.9) | 4.3(v0.9) 4.4(v1.0) | 12.1(v1.0) | 12.0 | 11.1(v0.9) | 5.13 | 2.9(v1.0) | ||
Range-for loop | N2930 | c++11 | A.06.28 | 4.5 | 4.6 | 13.0 | 11.0 | 5.13 | 3.0 | |||
override and final | v0.8: N2928 | c++11 | 4.8(v1.0) | 4.7 | 12.0(v0.8) 14.0(v1.0) | 8.0(v0.8) 11.0(v1.0) | 5.13 | 2.9 | ||||
Attributes | N2761 | c++11 | A.06.27 | 4.2 | 4.8 | 12.1 | 14.0 | 5.13 | 3.3 | |||
ref-qualifiers | N2439 | c++11 | A.06.28 | 4.7 | 4.8.1 | 14.0 | 14.0 | 2.9 | ||||
Non-static data member initializers | N2756 | c++11 | A.06.28 | 4.6 | 4.7 | 14.0 | 12.0 | 5.13 | 3.0 | |||
Dynamic initialization and destruction with concurrency (magic statics) | N2660 | c++11 | A.06.25 | Yes | 4.3 | 11.1* | 14.0 | 2.9 | ||||
noexcept | N3050 | c++11 | A.06.28 | 4.5 | 4.6 | 14.0 | 14.0 | 3.0 | ||||
Variable templates | N3651 | c++14 | 5.0 | 3.4 | ||||||||
Deprecated attribute | N3760 | c++14 | 4.9 | 4.9 | 15.0* | 14.0 | 3.4 | |||||
std::result_of and SFINAE | N3462 | c++14 | 5.0 | Yes | ||||||||
Improving std::pair andstd::tuple | N4387 | c++17 | ||||||||||
std::shared_mutex(untimed) | N4508 | c++17 | 5.0 | 3.7 | ||||||||
constexpr for <complex> | N3302 | c++14 | 5.0 | 14.0 | 3.4 | |||||||
constexpr for <chrono> | N3469 | c++14 | 5.0 | 14.0 | 3.4 | |||||||
constexpr for <array> | N3470 | c++14 | 5.0 | 14.0 | 3.4 | |||||||
constexpr for<initializer_list> ,<utility> and <tuple> | N3471 | c++14 | 5.0 | 14.0 | 3.4 | |||||||
Improvedstd::integral_constant | N3545 | c++14 | 5.0 | 14.0 | 3.4 | |||||||
User-defined literals for<chrono> and <string> | N3642 | c++14 | 5.0 | 14.0 | 3.4 | |||||||
Null forward iterators | N3644 | c++14 | 5.0* | 14.0 | 3.4 | |||||||
std::quoted | N3654 | c++14 | 5.0 | 14.0 | 3.4 | |||||||
Heterogeneous associative lookup | N3657 | c++14 | 5.0 | 14.0 | 3.4 | |||||||
std::integer_sequence | N3658 | c++14 | 5.0 | 14.0 | 3.4 | |||||||
std::shared_mutex(timed) | N3659 | c++14 | 5.0 | 14.0 | 3.4 | |||||||
std::exchange | N3668 | c++14 | 5.0 | 14.0 | 3.4 | |||||||
fixing constexpr member functions without const | N3669 | c++14 | 5.0 | 14.0 | 3.4 | |||||||
std::get<T>() | N3670 | c++14 | 5.0 | 14.0 | 3.4 | |||||||
Dual-Range std::equal,std::is_permutation,std::mismatch | N3671 | c++14 | 5.0 | 14.0 | 3.4 |
* - hover over the version number to see notes
자세한 내용은 아래 링크 참고.
반응형
'C/C++ > aaa' 카테고리의 다른 글
Unresolved External Error (WSAStartup, WSACleanup) (0) | 2012.10.16 |
---|---|
ComboBox (0) | 2012.06.12 |
Afx Helper 함수(MFC) (0) | 2012.05.16 |
GetProcAddress (0) | 2012.05.16 |
ActiveX inf 파일 (0) | 2012.04.12 |