Microsoft Visual C++
Visual Studio 2015 Update 3以降では、C++/CX言語拡張を使わずに、C++/WinRT(英語版)と呼ばれる拡張ライブラリを用いてUWPアプリを開発することも可能となっている。C++/WinRTはC++17準拠コンパイラを必要とする。
__declspec、呼出規約の指定、プロパティ構文(__declspec(property))、構造化例外処理、#pragmaディレクティブ、SAL注釈など。
Visual C++のコンパイラは、C, C++, C++/CLI, C++/CXのソースコードを入力に受け付ける。
C言語規格に関しては、Visual C++ 9.0 (2008) SP1の時点ではANSI C89 (ISO C90, ISO/IEC 9899:1990) 対応であり、C99やC11には対応していない(//で始まるコメントやlong long intなどは言語拡張としてサポートされている)。Visual C++ 12.0 (2013) では、全てではないがC99の関数の大半を追加した。Visual C++ 14.1 (2017) では、C99プリプロセッサの部分的なサポートが追加された (Visual Studio 2017 v15.8以降)。Visual C++ 14.2 (2019) では、C11/C17の必須機能のサポートが追加された (Visual Studio 2019 v16.8以降)。
C++言語規格に関しては、Visual C++ 9.0 (2008) SP1の時点でC++98 (ISO/IEC 14882:1998) 規格に対応している。Visual C++ 10.0 (2010) では、auto、decltype、ラムダ式、rvalue reference(右辺値参照)、static_assert、nullptrなど、C++11規格で追加された機能を一部規格制定に先行して実装した。Visual C++ 11.