2011-01-13 10 views
30

ref classとは何かに関する良いサイトや説明、そしてクラスを「refクラス」と宣言するときは? マネージC++リファレンスクラス

MSDNの説明

基本型

BASE_TYPE(オプション)、私にとっては十分ではありませんでした。 refクラスまたはref構造体は、ゼロ以上の管理インタフェースとゼロまたは1つのref型から継承できます。値クラスまたは値構造体は、0個以上の管理対象インターフェイスから継承することしかできません。

refはrefキーワードは、クラスまたは構造体は、ヒープ上に割り当てられると、それへの参照が関数に渡さまたはクラスメンバに格納されるコンパイラーに指示します。 valueキーワードは、クラスまたは構造内のすべてのデータが関数に渡されるか、メンバーに格納されることをコンパイラーに通知します。

答えて

47

基本的にref classはCLRクラスです。これはC#のclassに相当します。

これは、CLRによって管理される参照型を作成します。 C#から使用可能なクラスを作成する場合は、通常ref classを作成します。 (ref struct、ちょうど同じことですが、C++の標準クラスと構造体のデフォルトのアクセシビリティルールを比較しています)

参考までに - 値のタイプを作成するには、C#でstruct d value classまたはvalue structを使用してください。

これらの新しいキーワードの多くの良い説明はHerb Sutter's post on C++/CLI Keywordsです。これは、C++/CLIの初心者でありながら、C++のバックグラウンドを持っている人にとっては参考になります。

+0

基本的な考え方をうまく説明しました。ありがとうございました!それはまさに私が探していたものです:) –

関連する問題