怎么能 &Abstract::virtualFoo 返回一个有效的指针,甚至不知道指向实际对象的指针,强制访问vtable ???
&Abstract::virtualFoo
您已将该函数声明为虚拟。编译器知道该函数是虚拟的。该标准要求通过成员函数指针调用进行虚拟调度。
编译器将必要的信息存储到成员函数指针中以使其发生。注意,成员函数指针不一定仅仅是指向单个地址的指针。它可以包含更多。
编译器实现此目的的确切方式是实现定义。