原因就在于字节对齐. 关于字节对齐为啥存在, 简单来说, 就是数据都是一块一块读的, 不是一个一个....而64位默认是8字节对齐.
然后你会说, 就这?
类大小
那么下面这个呢?...先来看E, 它继承了C, D的独有变量,但是没有继承他们从B得到的, 而是直接从B获取一份内容, 这样就是3个虚指针, B的变量, C和D的变量, 自己的变量, 也就是24+13+4+4+4=49, 8...字节对齐, 等于56....其实2个虚指针+B的变量+C的变量, 16+13+4=33, 8字节对齐, 40.