Difference between revisions of "多种编译器对C++17的支持"

From KlayGE
Jump to: navigation, search
Line 4: Line 4:
 
! 功能 !! 提案 !! MSVC !! GCC !! ICC !! Clang !! 替代方案
 
! 功能 !! 提案 !! MSVC !! GCC !! ICC !! Clang !! 替代方案
 
|-
 
|-
| static_assert with no message || [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3928.pdf N3928] || {{No}}No || {{No}}No || {{No}}No || {{Yes}}3.5 || C++11's static_assert
+
| static_assert with no message || [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3928.pdf N3928] || {{No}}No || {{Yes}}6.0 || {{No}}No || {{Yes}}3.5 || C++11's static_assert
 
|-
 
|-
| Disabling trigraph expansion by default || [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4086.html N4086] || {{Yes}}12.0 || {{No}}No || {{No}}No || {{Yes}}3.5 ||
+
| Disabling trigraph expansion by default || [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4086.html N4086] || {{Yes}}12.0 || {{Yes}}5.1 || {{No}}No || {{Yes}}3.5 ||
 
|-
 
|-
 
| typename in a template template parameter || [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4051.html N4051] || {{Yes}}14.0 || {{No}}No || {{No}}No || {{Yes}}3.5 ||
 
| typename in a template template parameter || [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4051.html N4051] || {{Yes}}14.0 || {{No}}No || {{No}}No || {{Yes}}3.5 ||
 
|-
 
|-
| New auto rules for direct-list-initialization || [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3922.html N3922] || {{Yes}}14.0 || {{No}}No || {{No}}No || {{No}}No ||
+
| New auto rules for direct-list-initialization || [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3922.html N3922] || {{Yes}}14.0 || {{No}}No || {{No}}No || {{Yes}}3.8 ||
 
|-
 
|-
| Fold expressions || [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4295.html N4295] || {{No}}No || {{No}}No || {{No}}No || {{Yes}}3.6 ||
+
| Fold expressions || [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4295.html N4295] || {{No}}No || {{Yes}}6.0 || {{No}}No || {{Yes}}3.6 ||
 
|-
 
|-
 
| Attributes for namespaces and enumerators || [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4266.html N4266] || {{Yes}}14.0 || {{No}}No || {{No}}No || {{Yes}}3.6 ||
 
| Attributes for namespaces and enumerators || [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4266.html N4266] || {{Yes}}14.0 || {{No}}No || {{No}}No || {{Yes}}3.6 ||
 
|-
 
|-
| u8 character literals || [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4267.html N4267] || {{Yes}}14.0 || {{No}}No || {{No}}No || {{Yes}}3.6 ||
+
| u8 character literals || [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4267.html N4267] || {{Yes}}14.0 || {{Yes}}6.0 || {{No}}No || {{Yes}}3.6 ||
 
|-
 
|-
| Nested namespace definition || [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4230.html N4230] || {{No}}No || {{No}}No || {{No}}No || {{Yes}}3.6 ||
+
| Nested namespace definition || [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4230.html N4230] || {{No}}No || {{Yes}}6.0 || {{No}}No || {{Yes}}3.6 ||
 
|-
 
|-
| Allow constant evaluation for all non-type template arguments || [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4268.html N4268] || {{No}}No || {{No}}No || {{No}}No || {{Yes}}3.6 ||
+
| Allow constant evaluation for all non-type template arguments || [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4268.html N4268] || {{No}}No || {{Yes}}6.0 || {{No}}No || {{Yes}}3.6 ||
 
|}
 
|}
  

Revision as of 02:22, 24 June 2016

C++17核心语言功能

功能 提案 MSVC GCC ICC Clang 替代方案
static_assert with no message N3928 No 6.0 No 3.5 C++11's static_assert
Disabling trigraph expansion by default N4086 12.0 5.1 No 3.5
typename in a template template parameter N4051 14.0 No No 3.5
New auto rules for direct-list-initialization N3922 14.0 No No 3.8
Fold expressions N4295 No 6.0 No 3.6
Attributes for namespaces and enumerators N4266 14.0 No No 3.6
u8 character literals N4267 14.0 6.0 No 3.6
Nested namespace definition N4230 No 6.0 No 3.6
Allow constant evaluation for all non-type template arguments N4268 No 6.0 No 3.6

相关内容

多种编译器对C++11的支持

多种编译器对C++14的支持

参考