C++プログラマ キャスブログ
[C++]クラスの中身が空でもサイズは1バイト 2014年12月21日12:38:32
クラスの中身に何も書かなくてもサイズは1バイト取られます。 中身が空だといって油断しないようにしましょう。 クラスの配列を生成した時にアドレスを変える必要があるので 最小単位(1バイト)のメモリが確保されています。
1 2 3 4 5 6 7 8 9 10 11 12 #include <cstdio> // printfに必要なヘッダー class A { }; int main() { printf( "%d\n", sizeof(A) ); return 0; }
出力: 1
余談ですが、要素数0の配列は作れます。
1 2 3 4 5 6 7 8 9 10 #include <cstdio> // printfに必要なヘッダー int main() { int* i = new int[0]; delete[] i; return 0; }
カテゴリ

リンク
C++11のコードを
試すのに便利です。
http://ideone.com/

同人ゲームを
製作している知人
sorcery

にほんブログ村 IT技術ブログ C/C++へ
にほんブログ村


C++ ブログランキングへ

ゲームダウンロード DefenceTri