2017-01-17 4 views
0

私はC++を学んでいて、ちょうどC++/CLIに入っています。なぜ私はC++/CLIのタイプinstadのC++ネイティブを使うべきですか?

C++/CLIC++ Nativeと同等ですが、C++ Nativeの代わりにC++/CLIタイプを使用する理由を理解できません。

たとえば、またはSystem.Booleanではなく、boolの代わりにSystem.Stringです。

C++ Nativeの代わりにC++/CLIタイプを使用する理由を教えてください。

+3

本当にあなたが何をしているかによって異なります。完全な.net APIを使用する場合は、そのタイプを使用する必要があります。もしあなたが.netを必要としないなら、まずC++/CLIを使うのはなぜですか? –

+2

@Someprogrammerdudeあなたの答えは非常に一般的です。完全な.NET APIを使用する必要があるケースは何ですか?たぶん、C++/CLIを使用する他の理由がありますか? –

+6

C++/CLIを使用する必要があるのは、他の.NETコードとの相互運用が必要なときだけです。それ以外の場合は、C++/CLIまたはそのタイプを使用しないでください。ネイティブC++を使用してください。 –

答えて

1

管理コードを書きたい場合は、CLR型をC#のような「良い」CLR言語で使用します。

ネイティブコードを記述する場合は、ネイティブC++でC++型を使用します。

C++/CLIの主な目的は、CLRとネイティブC++コード間のインターフェイスを作成することです。 C++/CLIで何か他のことをすることは悪い考えです。なぜなら、Microsoftは言語を進化させる計画はなく、それは厄介でバグがたくさんあるからです。

インターフェイスコードでは、ネイティブのC++コードのネイティブ型のデータをマーシャリングするために、通常はCLR型のみを扱います。 C++/CLIのCLR型をこれ以上のもので使用しているのなら、なぜか自分自身に尋ねなければなりません。一般に、CLR言語を使用してCLR作業を行う方がよいでしょう。

C++/CLIを使用する動機についてさらに詳しく説明すると、決定を下すのにさらに役立つ可能性があります。

関連する問題