我们都知道C++中的虚函数是什么,但它们是如何在深层次实现的?
可以在运行时修改甚至直接访问vtable吗?
vtable是否适用于所有类,或仅适用于至少具有一个虚函数的类?
抽象类对于至少一个条目的函数指针只有一个NULL吗?
有一个虚拟函数会减慢整个班级的速度吗?或者只调用虚拟函数?如果虚拟功能实际被覆盖了,速度是否会受到影响,或者只要它是虚拟的,它就没有效果.
我知道在C++中有vpointer和vtable.虚函数表是类中虚拟方法的方法指针列表.类的每个实例都有一个指向表的指针,当我们从实例调用虚方法时使用该指针.
我想知道它是如何在C#中实现的.据我所知,虚拟表的概念是相同的.但是,使用GetType()代替vpointer.
我会尽可能多地了解细节.谢谢.