【发布时间】:2014-12-09 21:59:45
【问题描述】:
为了实现动态绑定,对于每个类,都有一个虚拟表来存储每个函数的addr。为什么需要这种间接性?我们可以让类直接将 ptr 存储到正确的函数吗?
【问题讨论】:
-
不是每个班级。对于每一个对象。是的,我们可以,但这会非常浪费,并且会使生成的机器代码复杂化。
-
如果每个对象都必须存储指向正确函数的指针,多态类的内存开销将是不真实的
标签: c++ function virtual vtable