37

ref classクラスを「refクラス」と宣言する時期とは何かについての良いサイトまたは説明はありますか?

msdn の説明だけでは不十分でした。

base_type (オプション)

ベースタイプです。ref クラスまたは ref 構造体は、0 個以上のマネージ インターフェイスおよび 0 個または 1 個の ref 型から継承できます。値クラスまたは値構造体は、0 個以上のマネージド インターフェイスからのみ継承できます。

参照

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

4

1 に答える 1

65

基本的に、aref classはCLRクラスです。classこれはC#と同等です。

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

また、参考までに、値型(structC#)を作成するには、value classまたはを使用しますvalue struct

これらの新しいキーワードの多くの良い説明は、C ++/CLIキーワードに関するHerbSutterの投稿です。これは、C ++ / CLIを初めて使用するが、C++のバックグラウンドがしっかりしている場合に役立つリファレンスです。

于 2011-01-13T19:38:06.350 に答える