ban*_*run 2 c++ oop gcc virtual-functions
class A{ void virtual a(){} }; int main() { std::cout<<sizeof(A); }
在上面的例子中,为什么编译器不使该函数非虚拟并保存分配给它的空间.有没有特定的理由不这样做?
我正在使用gcc 4.7编译器,如果它是特定于编译器的.
Oli*_*rth 8
因为您可以在单独的转换模块中创建派生类.
理论上这可以在链接时解决,但这将涉及大量工作,因此在实践中不会发生(AFAIK).
归档时间:
12 年,5 月 前
查看次数:
109 次
最近记录: