勵志

勵志人生知識庫

虚函数表存在哪里

虛函數表(Virtual Function Table,簡稱vtable)通常存儲在可執行目標文件的只讀數據段(.rodata),而不是動態分配在堆區。

虛函數表是全局共享的元素,每個類只有一箇,類似於一箇數組,用於存儲指向類成員函數的指針。這些指針實際上是指向虛函數的地址,而類中虛函數的個數在編譯時期就可以確定,因此虛函數表的大小也可以在編譯時期確定,無需動態分配內存空間。虛函數表指針(VPtr)則存在於類對象內部,指向虛函數表,每個包含虛函數的類都有一箇虛函數表。