class Student{
public:
int id;
int age;
};
int main() {
return 0;
}
如果我们使用gcc和-fdump-class-hierarchy
选项编译这样的程序,则gcc将产生一个.class
文件,如下所示:
Class Student
size=8 align=4
base size=8 base align=4
Student (0x0x7fbafc4a05a0) 0
编译命令:
g++ file.cpp -o file -fdump-class-hierarchy
显然size
是类大小。但是align
,base align
和base size
在这个文件中是什么意思?
答案 0 :(得分:0)
对齐方式与计算机在内存中的存储位置(例如整数)有关,您的学生班级有两个。由于int通常为4个字节长,所以当int的表示形式以4的倍数对齐时,加载和存储可能会更有效。