C++標准
年份 C++標准 俗稱 備注
2011 ISO/IEC 14882:2011 C++11 第三個C++標准
2007 ISO/IEC TR 19768:2007 C++TR1 標准化委員會的草案文件
2003 ISO/IEC 14882:2003 C++03 第二個C++標准
1998 ISO/IEC 14882:1998 C++98 第一個C++標准
C99,是C語言標准。
“GCC正在取代Clang成為C++11支持最佳的編譯器,而Visual Studio在對C++11特性的支持上也有明顯的改進,特別是新增對variadic templates、 initializer lists以及raw literals的支持。當然這些支持中那些屬於完全支持,哪些是無bug的支持不得而知,需要開發者自己去體驗。”以后也不會有編譯器的對c++11完全的支持,都是支持大部分,就連c++98也沒有編譯器是完全支持的。
- C++98標准中:支持STL中的:vector,dequeue, list, set, map(STL中首批數據結構)
- C++11標准中:支持STL中的array, forward_list, unordered容器(STL后續新增數據結構)
C++主流編譯器
(1)GCC編譯器
其供應商是GNU,開源項目。
- 是在Linux設備生,或者大多數的Unix-like系統。包括SunOS
- 或者在Win系統上(采用Cygwin或者MinGW)
-
- 或者在Mac OSX系統上,推薦使用GCC
其中
支持 C++11標准: GCC4.6以上 Clang3.0以上(ios蘋果系統)
- 或者在Mac OSX系統上,推薦使用GCC
-
(2)msvc編譯器
其供應商,樹妖用在Microsoft Visual C++ ,以及其IDE VS 上。
_MSC_VER是MSVC編譯器的內置宏,定義了編譯器的版本,_MSC_VER 值對應版本關系
往往在Boost庫中在跨平台(編譯器)方面,通過是否判定有無“—MSC—VER”定義,則判定是否是VSVC編譯器
在VS版本上對應的編譯器版本如下。
- msvc12.0 VisualStudio2010, VisualStudio2013
- msvc10.0 VisualStudio2010
- msvc9.0 VisualStudio2008
- msvc8.0 VisualStudio2005
- msvc7.1 Visual Studio .NET 2003—7.1
- msvc7.0 Visual Studio .NET—7.0
- msvc7.0 Visual Studio 6.0, Service Pack 5—6.5
(3)Intel C++ 編譯
對於Window系統,有intel-win編譯器
對於Linux系統,有intel-linux編譯器
(4)HP aC++ 編譯器
對於HP-UX系統, 采用acc編譯器
(5)Borland C++ 編譯器
在Microsoft Win系統上,可以采用C++ Builder 2006 C++編譯器。對應的borland模塊。
- Boland 5.8.2 C++ Builder 2006
- Boland 5.6.5, 5.6.4 (depending on release) CBuilderX
- Boland 5.6.4 CBuilder6
- Boland 5.5.1 Free command line tools
(6)Comeau C/C++編譯器
對於Window系統,有come-win編譯器
對於Linux系統,有come-linux編譯器
(7)Code Warrior 編譯器
編譯器:CW
(8)Digital Mars C/C++ Compiler
編譯器:DMC
(9)HP C++ Compiler
對於Tru64 Unix系統,采用hp_cxx模塊
(10)Sun Studio C++編譯器
對於SolarisOS 操作系統,采用sun編譯器
(11)IBM Visual Age C++ Compiler
對於AIX operating system系統,采用vacpp
,
end;