出力結果はなんでしょうか?
#include <stdio.h>
class test
{
static int aa;
};
int main()
{
printf("size=%d \n",sizeof(test));
return 0;
}
[0回]
答え「size=1」
正解した人はいたでしょうか?
解説:
static int aa;
staticな変数はクラスのサイズに影響されません。
グローバルな領域にメモリが置かれます。(アクセスするときはアクセス指定子によって左右します)
ということで static int aa;は関係なし。
ではこの1バイトは何を意味しているのは、
「クラスの種類を記憶している」のではなく、
特に意味はなくてC++の規格的に0バイトのクラスがだめだから1バイトあるそうです。
前回のクイズ
byリーダ和田
PR
COMMENT