###質問したいこと
以下のプログラムのように、static変数が構造体の中に4つ定義されていた場合で且つ、この構造体をプログラムの中で100個使うと仮定したときに、メモリに対してどのくらいの領域を確保することになりますか。
教えていただけると幸いです。
C#
1 public struct Vars 2 { 3 public static int MemI = 0; 4 public static float MemF = 0; 5 public static string MemS = ""; 6 public static Vector3 MemV = new Vector3(0, 0, 0); 7 8 public Vars(float InputF) 9 { 10 MemF = InputF; 11 } 12 public Vars(Vector3 InputV) 13 { 14 MemV = InputV; 15 } 16 public Vars(string InputS) 17 { 18 MemS = InputS; 19 } 20 public float GetF() 21 { 22 return MemF; 23 } 24 public Vector3 GetV() 25 { 26 return MemV; 27 } 28 public string GetS() 29 { 30 return MemS; 31 } 32 }
大したことはありません。
Zuishinさん!ありがとうございます(^^♪
unsafe コンテキストで System.Runtime.InteropServices.Marshal.SizeOf を使えば何がしかの値が得られると思いますが、それはあくまでも C の構造体に変換した場合のサイズで、実際の使用量とは限りません。
インスタンスメンバーが無いので、インスタンスをいくつ作ろうとメモリ使用量は増えないように思いますが、実際に調べたわけではないので、保証はしません。ただ、限りなく 0 に近いと思います。
強いて言えば、静的メンバーの中身とコードの使用するわずかな領域、そしてメソッド呼び出し時に使うスタック、これくらいではないかと思います。
回答1件
あなたの回答
tips
プレビュー