Wie werden virtuelle Funktionen und vtable implementiert?

Wir alle wissen, was virtuelle Funktionen in C ++ sind, aber wie werden sie auf einer tiefen Ebene implementiert? Kann die vtable zur Laufzeit geändert oder sogar direkt aufgerufen werden? Existiert die vtable für alle Klassen oder nur für diejenigen, die mindestens eine virtuelle Funktion haben?...