- 空对象所占的内存为1,是为了区分空对象所占的内存位置。
- 非空对象所占的内存按照实际的来。
- 非静态成员变量属于类的对象上面。
- 非静态成员函数和静态成员函数,静态成员变量都不属于类的成员上。
cpp
空对象所占的内存为1,是为了区分空对象所占的内存位置。
code:
#include<iostream>
using namespace std;
class City
{
public:
};
void main()
{
City c1;
cout << "空对象所占的内存:" << sizeof(c1) << endl;
system("pause");
};
result:
空对象所占的内存:1
cpp
非空对象按照实际的内存来,非静态成员变量存在于类的对象上,静态成员不属于类的对象上。
code:
#include<iostream>
using namespace std;
class City
{
public:
int num = 2;
static int s_num; // 不属于类的对象上
};
int City::s_num = 5;
void main()
{
City c1;
cout << "对象所占的内存:" << sizeof(c1) << endl;
system("pause");
};
result:
所占的内存:4
cpp
非静态成员函数和静态成员函数都不属于类的成员上
code:
#include<iostream>
using namespace std;
class City
{
public:
int num = 2;
static int s_num;
void show_value()
{
cout << num << endl;
}
static void s_show_value()
{
cout << s_num << endl;
}
};
int City::s_num = 5;
void main()
{
City c1;
cout << "对象所占的内存:" << sizeof(c1) << endl;
system("pause");
}
result:
所占的内存:4