一 对象的内存结构
C++:对于没有虚函数的类构造出的对象,对象本身是其所有成员变量的集合,其大小恰好等于,如果对象没有任何成员变量,那么它也至少要占1字节。如果有虚函数,那么C++对象的内存低位会有一个1字长的虚表指针。虚表指针指向虚表,C++的虚表中保存着虚函数指针,它的大小为虚函数个数x字长。
假如有一个C++类
class
m
... {
public:
int a=1;
char b='a';
virtual int f(int);
}
int m:f( int i)
... {
return i;
}
... {
public:
int a=1;
char b='a';
virtual int f(int);
}
int m:f( int i)
... {
return i;
}