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

From KlayGE
Jump to: navigation, search
 
(One intermediate revision by one user not shown)
Line 4: Line 4:
 
! 功能 !! 提案 !! MSVC !! GCC !! ICC !! Clang !! 替代方案
 
! 功能 !! 提案 !! MSVC !! GCC !! ICC !! Clang !! 替代方案
 
|-
 
|-
| Tweak to certain C++ contextual conversions || [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3323.pdf N3323] || {{Yes}}12.0 || {{Yes}}4.9 || {{No}}No || {{Yes}}3.4 ||  
+
| Tweak to certain C++ contextual conversions || [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3323.pdf N3323] || {{Yes}}12.0 || {{Yes}}4.9 || {{Yes}}16.0 || {{Yes}}3.4 ||  
 
|-
 
|-
 
| Binary literals || [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3472.pdf N3472] || {{Yes}}14.0 || {{Yes}}4.9 || {{Yes}}11.0 || {{Yes}}2.9 ||
 
| Binary literals || [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3472.pdf N3472] || {{Yes}}14.0 || {{Yes}}4.9 || {{Yes}}11.0 || {{Yes}}2.9 ||
Line 12: Line 12:
 
| Generalized lambda capture (init-capture) || [http://isocpp.org/files/papers/N3648.html N3648] || {{Yes}}14.0 || {{Yes}}4.9 || {{Yes}}15.0 || {{Yes}}3.4 ||
 
| Generalized lambda capture (init-capture) || [http://isocpp.org/files/papers/N3648.html N3648] || {{Yes}}14.0 || {{Yes}}4.9 || {{Yes}}15.0 || {{Yes}}3.4 ||
 
|-
 
|-
| Generic (polymorphic) lambda expressions || [http://isocpp.org/files/papers/N3649.html N3649] || {{Yes}}Nov 13 || {{Yes}}4.9 || {{No}}No || {{Yes}}3.4 ||
+
| Generic (polymorphic) lambda expressions || [http://isocpp.org/files/papers/N3649.html N3649] || {{Yes}}Nov 13 || {{Yes}}4.9 || {{Yes}}16.0 || {{Yes}}3.4 ||
 
|-
 
|-
 
| Variable templates || [http://isocpp.org/files/papers/N3651.pdf N3651] || {{Yes}}15.0 || {{Yes}}5.0 || {{No}}No || {{Yes}}3.4 ||
 
| Variable templates || [http://isocpp.org/files/papers/N3651.pdf N3651] || {{Yes}}15.0 || {{Yes}}5.0 || {{No}}No || {{Yes}}3.4 ||
Line 18: Line 18:
 
| Relaxing requirements on constexpr functions || [http://isocpp.org/files/papers/N3652.html N3652] || {{Yes}}15.0 || {{Yes}}5.0 || {{No}}No || {{Yes}}3.4 ||
 
| Relaxing requirements on constexpr functions || [http://isocpp.org/files/papers/N3652.html N3652] || {{Yes}}15.0 || {{Yes}}5.0 || {{No}}No || {{Yes}}3.4 ||
 
|-
 
|-
| Member initializers and aggregates || [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3653.html N3653] || {{Yes}}15.0 || {{Yes}}5.0 || {{No}}No || {{Yes}}3.3 ||
+
| Member initializers and aggregates || [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3653.html N3653] || {{Yes}}15.0 || {{Yes}}5.0 || {{Yes}}16.0 || {{Yes}}3.3 ||
 
|-
 
|-
 
| Clarifying memory allocation || [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3664.html N3664] || {{No}}No || {{No}}No || {{No}}No || {{Yes}}3.4 ||
 
| Clarifying memory allocation || [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3664.html N3664] || {{No}}No || {{No}}No || {{No}}No || {{Yes}}3.4 ||
 
|-
 
|-
| Sized deallocation || [http://isocpp.org/files/papers/n3778.html N3778] || {{Yes}}14.0 || {{Yes}}5.0 || {{No}}No || {{Yes}}3.4 ||
+
| Sized deallocation || [http://isocpp.org/files/papers/n3778.html N3778] || {{Yes}}14.0 || {{Yes}}5.0 || {{Yes}}17.0 || {{Yes}}3.4 ||
 
|-
 
|-
| <nowiki>[[deprecated]]</nowiki> attribute || [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3760.html N3760] || {{Yes}}14.0 || {{Yes}}4.9 || {{No}}No || {{Yes}}3.4 ||
+
| <nowiki>[[deprecated]]</nowiki> attribute || [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3760.html N3760] || {{Yes}}14.0 || {{Yes}}4.9 || {{Yes}}16.0 || {{Yes}}3.4 ||
 
|-
 
|-
| Single-quotation-mark as a digit separator || [http://isocpp.org/files/papers/N3781.pdf N3781] || {{Yes}}14.0 || {{Yes}}4.9 || {{No}}No || {{Yes}}3.4 ||
+
| Single-quotation-mark as a digit separator || [http://isocpp.org/files/papers/N3781.pdf N3781] || {{Yes}}14.0 || {{Yes}}4.9 || {{Yes}}16.0 || {{Yes}}3.4 ||
 
|}
 
|}
  
Line 39: Line 39:
 
*[http://gcc.gnu.org/projects/cxx1y.html C++1y Support in GCC]
 
*[http://gcc.gnu.org/projects/cxx1y.html C++1y Support in GCC]
 
*[http://clang.llvm.org/cxx_status.html C++98, C++11, and C++14 Support in Clang]
 
*[http://clang.llvm.org/cxx_status.html C++98, C++11, and C++14 Support in Clang]
 +
*[http://software.intel.com/en-us/articles/c14-features-supported-by-intel-c-compiler C++14 Features Supported by Intel® C++ Compiler]
  
 
[[Category:知识库]]
 
[[Category:知识库]]
  
 
[[en:C++14 support in compilers]]
 
[[en:C++14 support in compilers]]

Latest revision as of 01:00, 2 January 2017

C++14核心语言功能

功能 提案 MSVC GCC ICC Clang 替代方案
Tweak to certain C++ contextual conversions N3323 12.0 4.9 16.0 3.4
Binary literals N3472 14.0 4.9 11.0 2.9
Return type deduction for normal functions N3638 Nov 13 4.9 15.0 3.3
Generalized lambda capture (init-capture) N3648 14.0 4.9 15.0 3.4
Generic (polymorphic) lambda expressions N3649 Nov 13 4.9 16.0 3.4
Variable templates N3651 15.0 5.0 No 3.4
Relaxing requirements on constexpr functions N3652 15.0 5.0 No 3.4
Member initializers and aggregates N3653 15.0 5.0 16.0 3.3
Clarifying memory allocation N3664 No No No 3.4
Sized deallocation N3778 14.0 5.0 17.0 3.4
[[deprecated]] attribute N3760 14.0 4.9 16.0 3.4
Single-quotation-mark as a digit separator N3781 14.0 4.9 16.0 3.4

相关内容

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

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

参考