C++オブジェクトのデータメンバー記憶領域占有計算
1367 ワード
空のクラスストレージスペースの計算
1コード
2運転
3説明
空クラスCBoxは、データメンバーもメンバー関数もありません.プログラム実行結果は、そのサイズが1であることを示す.
空のタイプのオブジェクトには情報は含まれません.サイズは0です.ただし、オブジェクトを宣言するときは、メモリに一定のスペースを占有する必要があります.そうしないと、これらのオブジェクトは使用できません.メモリの消費量は、コンパイラによって決まります.C++の各空のタイプのインスタンスは1 Byte空間を占めている.
二メンバー変数のみのクラスのストレージ空間の計算
1コード
2運転
3つのメンバー変数と静的メンバー変数のクラスの記憶空間の計算
1コード
2運転
3説明
この例は、前の例よりも静的メンバー変数が1つ多くなったが、プログラム実行結果は12であり、静的データメンバーがオブジェクトのメモリ領域を占めていないことを証明した.
1コード
#include
using namespace std;
class CBox{
};
int main(){
CBox boxobj;
cout<
2運転
[root@localhost charpter02]# g++ 0214.cpp -o 0214
[root@localhost charpter02]# ./0214
1
3説明
空クラスCBoxは、データメンバーもメンバー関数もありません.プログラム実行結果は、そのサイズが1であることを示す.
空のタイプのオブジェクトには情報は含まれません.サイズは0です.ただし、オブジェクトを宣言するときは、メモリに一定のスペースを占有する必要があります.そうしないと、これらのオブジェクトは使用できません.メモリの消費量は、コンパイラによって決まります.C++の各空のタイプのインスタンスは1 Byte空間を占めている.
二メンバー変数のみのクラスのストレージ空間の計算
1コード
#include
using namespace std;
class CBox{
int length,width,height;
};
int main(){
CBox boxobj;
cout<
2運転
[root@localhost charpter02]# g++ 0215.cpp -o 0215
[root@localhost charpter02]# ./0215
12
3つのメンバー変数と静的メンバー変数のクラスの記憶空間の計算
1コード
#include
using namespace std;
class CBox{
int length,width,height;
static int count;
};
int main(){
CBox boxobj;
cout<
2運転
[root@localhost charpter02]# g++ 0216.cpp -o 0216
[root@localhost charpter02]# ./0216
12
3説明
この例は、前の例よりも静的メンバー変数が1つ多くなったが、プログラム実行結果は12であり、静的データメンバーがオブジェクトのメモリ領域を占めていないことを証明した.