비 가상 구현을 호출하는 경우 vtable을 통해 디스패치 기능을 수행할까요?
다음과 같다고 가정 해보십시오.struct Base
{
virtual void callback() { /* */ }
};
struct Derived : public Base
{
void callback() { /* */ }
};
Base* obj = new Derived;
static_cast<Derived*>(obj)->callback();
콜백 호출은 vtable 또는 직선 함수 호출을 통해 함수 시그니처에 가상으로 표시되어 있지 않으므로 호출합니까?
왜 static_cast입니까? –