关于C++虚拟继承的问题请教

#include <iostream>
using namespace std; 
class A{ 
public: 
     virtual void f1(){}; 
}; 
class B: public virtual A{ 
     virtual void f2(){}; 
}; 
int main(){ 
     cout << sizeof(A) << endl; 
     cout << sizeof(B) << endl; 
} 

这个程序在32位机器上,打印的是4和12。g++下面后两个打印是8和8。没有用c++11。求指导虚继承内存具体如何分配?(与编译器无关的情况)

阅读 4.7k
2 个回答

你问的这个问题刚好就是“与编译器有关的情况”,完全是编译器的实现细节。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题