KITASENJU DESIGN BLOG

memo, html, javascript, unity

struct(構造体)の使い所

使い所

【C#】構造体の使い方(クラスとの違い、初期化や配列の使用も解説) | 侍エンジニア塾ブログ(Samurai Blog) - プログラミング入門者向けサイト

参照型の機能が必要ない場合は、クラスとして実装するよりは構造体として定義した方が効率的に処理されるようです。クラスと構造体を100万個ずつインスタンス化した場合、クラスが約100msに対して構造体では30msと処理時間が短い場合もあるようです。

値型と参照型

値型と参照型 - C# によるプログラミング入門 | ++C++; // 未確認飛行 C

利点欠点

値型と参照型にはそれぞれ利点・欠点があります。

値型は変数ごとに別個の値を保持するため、 代入時(関数に引数として渡す場合も含む)に値の複製を行う必要があります。 サイズが大きい(メンバー変数が多い)場合、複製に大きな手間がかかり非効率的です。 しかし、値を直接操作できるため、値の読み書きは高速になります。

一方、参照型は代入時には参照情報のみを渡すので、 どんなにサイズが大きくても大きな手間はかかりません。 しかし、値を操作する場合、参照情報を用いて実体のある場所を探してから値の操作を行う必要があるので、 値の読み書きは値型にくらべ低速になります。

"FOOTER"