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と共通するものがある。)
0 (2012) では、Strongly typed enums、Forward declared enums、Standard-layout and trivial types、Range-based for-loop などのC++11規格を実装した。Visual C++ 12.0 (2013) では、Initializer lists、Alias templates、Delegating constructors、Raw string literals などのC++11規格を追加実装した。Visual C++ 14.0 (2015) では、constexpr、Unicode string literalsなどのC++11規格を追加実装し、またBinary literalsなどのC++14規格を一部実装した。Visual Studio 2017 15.0のVisual C++ 14.1 (2017) では、C++14規格の追加機能をすべてサポートしたが、C++11規格の一部がサポートされていない。Visual Studio 2017 15.7においてC++17規格の追加機能をすべてサポートしたが、C++11規格のうちC99プリプロセッサ (N1653) がサポートされていない。また、__cplusplusの定義値は既定で199711Lとなっているが、コンパイルオプション/Zc:__cplusplusを指定することで、C++言語標準モード設定に応じて201402Lなどに変化する。
ほかにも、バージョン7.1までの Windows SDK (旧Platform SDK) とバージョン7.1までのWindows Driver KitにもVisual C++コンパイラが付属していた。 またバージョン10 1511のWindows Driver KitからはEnterprise Windows Driver Kitと呼ばれるコンパイラ等が付属するバージョンのWDKの配布が再開された。
Visual C++ Build Toolsは、ビルドサーバーや継続的インテグレーション (CI) 等、GUIを使用せずバッチ処理的にビルドを行う環境での使用を意図されたものである。統合開発環境を含む通常のVisual Studioを補完する製品という位置付けであり、Visual Studioの正規ユーザーが使用することが前提になっている。
#importディレクティブ及び追加のクラス・関数など。
2007年12月18日公開。ATLやMFCが付属しない点はVisual C++ 2005 Express Editionと同じであるが、Windows SDKが標準で同梱されるようになり、Win32アプリケーションの開発に必要なWindows SDKを別途用意する必要がなくなった。