_MSC_VER是MSVC編譯器的內建宏,定義了編譯器的版本,_MSC_VER 值對應版本關係
MSVC++ 11.0 _MSC_VER = 1700 (Visual Studio 2012)
MSVC++ 10.0 _MSC_VER = 1600 (Visual Studio 2010)
MSVC++ 9.0 _MSC_VER = 1500 (Visual Studio 2008)
MSVC++ 8.0 _MSC_VER = 1400 (Visual Studio 2005)
MSVC++ 7.1 _MSC_VER = 1310 (Visual Studio 2003)
MSVC++ 7.0 _MSC_VER = 1300 (Visual Studio 2002)
MSVC++ 6.0 _MSC_VER = 1200
MSVC++ 5.0 _MSC_VER = 1100
年份 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語言標準。
C++11,先前被稱作C++0x,即ISO/IEC 14882:2011,是目前的C++程式設計語言的正式標準。它取代第二版標準ISO/IEC 14882:2003(第一版ISO/IEC 14882:1998公開於1998年,第二版於2003年更新,分別通稱C++98以及C++03,兩者差異很小)。新的標準包含核心語言的新機能,而且擴充C++標準程式庫,併入了大部分的C++ Technical Report 1程式庫(數學的特殊函數除外)。
“GCC正在取代Clang成為C++11支援最佳的編譯器,而Visual Studio在對C++11特性的支援上也有明顯的改進,特別是新增對variadic templates、 initializer lists以及raw literals的支援。當然這些支援中那些屬於完全支援,哪些是無bug的支援不得而知,需要開發人員自己去體驗。”以後也不會有編譯器的對c++11完全的支援,都是支援大部分,就連c++98也沒有編譯器是完全支援的。
參考:
http://www.csdn.net/article/2013-03-18/2814528-c11-compiler-support-shootout-visual-studio-gcc-clang-intel