1:C++中类在内存中的分布情况是什么?对象的内存分布是什么?
C++将内存分为栈,堆,自由存储区,全局/静态存储区,常量存储区。
类在内存中的存储方式是
第一:类的普通成员函数不占内存,静态成员函数也不占内存,存放的位置不同。
第二:虚函数占用4个字节(32bit)
第三:空类占一个字节
第四:定义的私有成员变量占空间,所占空间根据其变量类型以及保证内存对齐。
这里面还会引申出一个问题就是为什么栈的速度要快过堆得速度,这是因为两者在分配内存时的方式是不同的。栈的分配有大小限制,栈是机器系统提供的数据结构,计算机会在底层对栈提供支持,分配专门的寄存器存放栈的地址,压栈出栈都有专门的