vptr(常见于 C++ 语境)指“虚函数表指针”(virtual table pointer):对象内部用于指向其所属类的 vtable(虚函数表) 的隐藏指针,帮助程序在运行时实现虚函数的动态绑定(多态)。在不同编译器与 ABI 下,vptr 的具体布局可能不同。
/ˌviː piː tiː ɑːr/
In many C++ implementations, each polymorphic object contains a vptr.
在许多 C++ 实现中,每个支持多态的对象都包含一个 vptr。
When a derived class overrides virtual functions, the vptr typically points to a different vtable, enabling correct dispatch at runtime.
当派生类重写虚函数时,vptr 通常会指向不同的 vtable,从而在运行时实现正确的动态分派。
vptr 是编程圈常用缩写,来自 virtual(虚的、虚函数相关)+ ptr(pointer,指针的缩写),常被理解为“指向虚函数表的指针”(virtual table pointer)。