见下面的代码:
#include <iostream>
using namespace std;
class temp
{
public:
int x; //8
char z; //4
int y;
};
int main()
{
temp tmp;
cout << "Total size=" << sizeof(tmp) << endl;
cout << "x=" << sizeof(tmp.x) /*<< "y" << sizeof(tmp.y) */<< "z=" << sizeof(tmp.z) << endl;
return 0;
}
Output comes:
Total size: 12
x=4 y=4 z=1
我的问题是:对于不同的数据类型,将放置填充/填充字节。但是,我们如何识别和计算填充/填充字节的总大小,或者我们如何编写代码(通常不是特定于此代码)?