说我有以下内容:
struct Base
{
virtual void callback() { /* */ }
};
struct Derived : public Base
{
void callback() { /* */ }
};
Base* obj = new Derived;
static_cast<Derived*>(obj)->callback();
回调调用是通过 vtable 调用还是直接函数调用,因为它在函数签名中未标记为虚拟?
说我有以下内容:
struct Base
{
virtual void callback() { /* */ }
};
struct Derived : public Base
{
void callback() { /* */ }
};
Base* obj = new Derived;
static_cast<Derived*>(obj)->callback();
回调调用是通过 vtable 调用还是直接函数调用,因为它在函数签名中未标记为虚拟?