コンパイラのクラスオブジェクトの処理メカニズム
Mobile
2023-05-17 08:19:07
views: null
コンパイラのクラスオブジェクトの処理メカニズム
- 通常のメンバー変数: オブジェクトに格納され、構造体変数と同じメモリ レイアウトとアライメントを持ちます。
- 静的メンバー変数: グローバル データ領域に格納されます。
- メンバー関数: コードセグメントに格納されます。
- C++ クラス オブジェクトのメンバー変数とメンバー関数は別々に格納されます。C 言語のメモリの 4 領域モデルは依然として有効です。
- C++ のクラスの通常のメンバー関数には、現在のオブジェクトを指す this ポインターが暗黙的に含まれています。
- 非静的メンバー変数のみがクラス オブジェクトに属します。静的メンバー関数と静的メンバー変数はクラスに属します。
- 空のクラス 1 の結果のサイズ。
- 静的メンバー関数と通常のメンバー関数の違い
1 静的メンバー関数には、特定のオブジェクトへのポインターが含まれていません。
2 通常のメンバー関数には、特定のオブジェクトへのポインターが含まれています。
Origin blog.csdn.net/lgglkk/article/details/127129573