C++/CLI
.NETランタイムと直接やり取りできる、MicrosoftによるC++の方言。古いC++が新しいマネージドコードと出会うときの接着剤となる言語。
Visual Studio 2005で導入され、ECMA-372として標準化された。不評だったManaged Extensions for C++の後継である。目新しかったのはハンドル構文で、String^ s = gcnew String("hello")のように書く。^はガベージコレクション対象のヒープ上のオブジェクトへの参照を表し、gcnewはネイティブヒープではなくそちらに確保する。
実際の用途は狭いが根強い。1つのC++/CLIファイルの中で20年前のCヘッダをインクルードしつつ、同じ翻訳単位からC#のクラスを呼べるため、ネイティブライブラリを.NET向けにラップする標準的な手段になっている。代償として言語がWindows専用であり、.NET Coreへの対応は2019年までなかった。好んでこれだけでプログラム全体を書く人はいない。