他の .NET 言語とは異なり、Visual C++ には相互運用性サポートが備えられています。相互運用性サポートを使用すると、managed、unmanaged プラグマにより、マネージド コードとアンマネージド コードは同じアプリケーション内、また同じファイルでも共存できるようになります。 これにより、Visual C++ 開発者は、他のアプリケーションの動作を妨げることなく、既存の Visual C++ アプリケーションに .NET 機能を統合できます。 また、dllexport、dllimport を使用して、マネージド コンパイル単位からアンマネージド 関数を呼び出すこともできます。 関数パラメーターのマーシャリング方法を指定したり、DllImportAttribute を明示的に呼び出す際に指定できるその他の詳細設定を行ったりする必要がない場合は、暗黙の PInvoke を使用
![C++ Interop (暗黙の PInvoke) の使用](https://cdn-ak-scissors.b.st-hatena.com/image/square/d6e4cb632c7025e9f5e05fd314fbf6dcd6144e8d/height=288;version=1;width=512/https%3A%2F%2Flearn.microsoft.com%2Fen-us%2Fmedia%2Fopen-graph-image.png)