Microsoft Visual C++
製品バージョンと内部バージョン

Visual C++の製品バージョンは、バージョン6.0までは内部バージョンと同じ番号が付けられていたが、2002以降は内部バージョンではなくリリース予定年を冠するようになった。なお、Visual C++にはコンパイラのバージョンを表す _MSC_VER および _MSC_FULL_VER というプリプロセッサ シンボルが存在するが、これはVisual C++の前身であるMS-DOS用C/C++コンパイラ（通称MS-C）からの通し番号となっており、コンパイラ本体である cl.exe のファイルバージョンを表している。（このようにユーザーを混乱させかねない複数のバージョン表記は、Windowsと共通するものがある。）
| 製品名 | 製品バージョン | 内部バージョン | _MSC_VER | リリース | 備考 |
| --- | --- | --- | --- | --- | --- |
| C Compiler 1.0 | - | - | 100 | 1983年 | Latice Cを元にした MS-DOS用コンパイラ。K&R未対応。 |
| C Compiler 2.0 | - | - | 200 |  | Large Model 対応。 |
| C Compiler 3.0 | - | - | 300 | 1985年 | K&R対応。 |
| C Compiler 4.0 | - | - | 400 |  | オプティマイズ強化。ソースレベルデバッガのCodeViewを付属。 |
| C Compiler 5.0 | - | - | 500 | 1987年 | ループオプティマイズ。Huge Model対応。廉価版としてQuick C 1.0 |
| C Compiler 5.1 | - | - |  |  | OS/2 1.0対応。廉価版として Quick C 2.0 (1989) |
| C Compiler 6.0 | - | - | 600 | 1989年 | Windowsプログラミングには別途SDKが必要。 |
| C/C++ Compiler 7.0 | - | - | 700 | 1992年 | MFCが付属した最初のバージョン。 |
| Visual C++ 1.0 | 1.0 | 1.0 | 800 | 1993年 | 32ビット対応。 |
| Visual C++ 1.5 | 1.5 | 1.5 | 800 | 1993年 |  |
| Visual C++ 1.51 | 1.51 | 1.51 | 800 |  | Visual C++ 2.0/4.0Pro日本語版に付属。 |
| Visual C++ 1.52c | 1.52 | 1.52c | 800 |  | 英語版のみ。MS-DOS/Win16バイナリ（プログラム）を作成できる最終バージョン。 |
| Visual C++ 2.0 | 2.0 | 2.0 | 900 | 1995年 | Windows NT対応。32ビット専用。 |
| Visual C++ 2.1 | 2.1 | 2.1 | 900 |  |  |
| Visual C++ 2.2 | 2.2 | 2.2 | 900 |  |  |
| Visual C++ 4.0 | 4.0 | 4.0 | 1000 | 1996年 | Windows 95対応 |
| Visual C++ 4.1 | 4.1 | 4.1 | 1010 | 1996年 | Win32sで動作するWin32バイナリ（プログラム）を作成できる最後のバージョン。 |
| Visual C++ 4.2 | 4.2 | 4.2 | 1020 | 1996年 |  |
| Visual C++ 5.0 | 5.0 | 5.0 | 1100 | 1997年 |  |
| Visual C++ 6.0 | 6.0 | 6.0 | 1200 | 1998年 |  |
| Visual C++.NET 2002 | 2002 | 7.0 | 1300 | 2002年 | マネージ拡張C++のサポート追加。 |
| Visual C++.NET 2003 | 2003 | 7.1 | 1310 | 2003年 | Windows 95で動作するWin32バイナリ（プログラム）を作成できる最後のバージョン。この製品までは既定の文字コード設定が「マルチバイト文字列を使用する」になっている。 |
| Visual C++ 2005 | 2005 | 8.0 | 1400 | 2005年 | Windows 98/Me/NT4で動作するWin32バイナリ（プログラム）を作成できる最後のバージョン。この製品以降は既定で「Unicode文字列を使用する」に変更されている。C++/CLIのサポート追加。上位エディションでコード分析/analyzeが使えるようになった。 |
| Visual C++ 2008 | 2008 | 9.0 | 1500 | 2007年 | Windows 2000で動作するWin32バイナリ（プログラム）を作成できる最後のバージョン。 IA-64で動作するMFCを使うWin64バイナリ（プログラム）を作成できる最後のバージョン。 |
| Visual C++ 2010 | 2010 | 10.0 | 1600 | 2010年 | C++0xへ部分的に対応。IA-64で動作するWin64バイナリ（プログラム）を作成できる最後のバージョン。なお、Visual C++ 2010ではC++/CLI言語のインテリセンス機能が動作しない。 |
| Visual C++ 2012 | 2012 | 11.0 | 1700 | 2012年 | （C++0xでなく）C++11へ部分的に対応開始。ただし__cplusplusの定義内容は199711L（C++98を表す）のまま。Windowsストアアプリ対応（WinRT、C++/CX）。C++/CLI言語のインテリセンスの復活。コード生成に関して SSE2 までの拡張命令の使用（/arch:SSE2）がデフォルトになった。DirectXグラフィックス診断機能（Graphics Diagnostics）の追加。下位エディションでもコード分析が使えるようになった。 |
| Visual C++ 2013 | 2013 | 12.0 | 1800 | 2013年 | C++11対応の強化。C99の大半に対応。MFC/ATLのマルチバイト版はバンドルされなくなった。マネージ拡張C++のコンパイルオプション (/clr:OldSyntax) を使用できる最後のバージョン。 |
| Visual C++ 2015 | 2015 | 14.0 | 1900 | 2015年 | C++11/C++14対応の強化。リファクタリング機能の実験的サポート。 |
| Visual C++ 2017 | 2017 | 14.1 | 1910 | 2017年 | C++11/C++14/C++17対応の強化。CMake対応の追加など。Windows XPで動作するバイナリを作成できる最後のバージョン。 |
| Visual C++ 2019 | 2019 | 14.2 | 1920 | 2019年 | C++20対応の強化。OpenMP 4.0 SIMDベクトル化の実験的サポート。C++ IntelliCodeが付属。Visual Studio 2017で実験的に追加されたエディター内C++コード分析の正式サポート。 |
| Visual C++ 2022 | 2022 | 14.3 | 1930 | 2021年 | C++20/対応の強化。C++23の部分的対応。。 |