土曜日, 8月 03, 2013

プチクイズ 7 - クラスのsizeof

Q1. 空のクラスに対してのsizeofの結果は?

A1. (visual studioでもgnu c++でも)1.実質データは0だがクラスの存在を示すためにダミーのデータ(size 1)が作られる.

Q2. コンストラクタとデストラクタを宣言した場合?

A2. 変わらず.ただしvirtualであればvtableを作るのでその分のサイズは増える.32bitマシン上なら4, 64bitマシン上なら8.

Q3. 関数を宣言すると?

A3. コンストラクタ・デストラクタに同じ.virtualであればvtable分の増加,さもなければ何も変わらず.

Q4. intの変数をクラスに追加すると?

A4. int型分のサイズが増加.

0 件のコメント: