面试原话:一个只含有int的类对象占用多大内存?
面试结束后我在Win10上的vs2019试了一下,sizeof得到的结果是4。
现在有疑问的问题是:以下两个类所占用内存大小以及具体是如何计算的呢?
#include <iostream>
using namespace std;
class A {
public:
//同时包含5种数据类型
char c;//1
short s;//2
int i;//4
float f;//4
double d;//8
};
class B {
public:
//只包含4种数据类型
short s;//2
int i;//4
float f;//4
double d;//8
};
int main() {
A a;
B b;
cout << "sizeof(a) = " << sizeof(a) << endl;
cout << "sizeof(b) = " << sizeof(b) << endl;
}
执行结果:
sizeof(a) = 24
sizeof(b) = 24