实验了下面的函数:
#include <vector> #include <iostream> using namespace std; class A { public: virtual int a(){} virtual int b(){} virtual int c(){} virtual int d(){} virtual int e(){} virtual int f(){} virtual int g(){} int t; }; int main() { A a; cout << sizeof(a) << endl; return 0; }
输出:
16
为什么是16呢。因为我用的是64位机器呀。
64位机器的指针大小就是8呀。
然后因为对齐,所以整个长度16.
注意了:64位机器里面,int的size还是4.
关于虚函数虚表的内容,3月2号的文章有写。