1.查看类的数据成员在内存中距离对象首地址的偏移量
struct S
{
int a, b, c;
};
int main()
{
prrintf("%p/n", &S::a);
prrintf("%p/n", &S::b);
prrintf("%p/n", &S::c);
}
输出结果为0、4、8。&S::a等的类型为int S::*。
2.inline虚函数
在虚函数内部调用虚函数,如果后者在前者所在的类的派生类中没有再被重载,则这种调用不用经过虚函数机制,因为已经可以决议出用哪个函数了,若该虚函数是inline的,则可以展开,提高效率。另外通过对象而不是指针,调用虚函数,也是直接决议的,也不走虚函数机制。所以inline虚函数是有意义的。