-2

アセンブリに飛び込むmscolib.dllと、Int32 が構造体であることがわかりましたが、このように "=" 演算子を Int32 に適用できる理由がわかりInt32 num=5;ません。Int32 構造体内で "=" 演算子をオーバーロードしません。

4

1 に答える 1

1

演算子は=オーバーロードできません。オーバーロード可能な演算子を参照してください。演算子は、=常に右側の値を左側の変数に代入します。

値型 (構造体) の場合、値全体が変数にコピーされることを意味します。

のようなタイプの場合Int32、そのコピーを実行できる命令がプロセッサに組み込まれています。値全体を一度にコピーできる命令がないほど大きい構造体の場合、構造体のバイトを変数にコピーするループが発生します。

于 2015-01-24T17:49:04.050 に答える