讨论
我知道我所知道的所有实现(即 C++ 编译器)都通过使用虚拟调度表和虚拟表指针(即已知的and )来实现动态调度机制。vtable
vptr
然而,在询问 C++ 标准时,我发现 C++ 标准并没有明确规定必须如何实现动态调度。这意味着供应商可以使用替代方法进行动态调度,前提是其行为符合 C++ 标准对动态调度行为的要求。
问题
Q1。
vtable
除了s 和s 之外,还有其他有效的方法vptr
可以实现动态调度吗?Q2。如果Q1为真:是什么原因(如果有的话)使实现者决定使用
vtable
s 和vptr
s 来实现动态调度而不是其他一些有效的方法?