Sprinter, das ist mir schon klar. Aber es ging um den Speicherverbrauch/Laufzeit von C++-Funktionen/Methoden und da gibt es kein "mehr als C".

Die Verwendung von vtables bei virtuellen Methoden entspricht der von Funktionspointertabellen in C und ist von der Laufzeit zu dem C-Konstrukt identisch.

Die Verwendung solcher Indirektionen macht auch in C Sinn - für genau dieselben Fälle wie bei C++ - ist aber von der Implementierung her ungleich aufwändiger und daher nur selten anzutreffen.

Ohne virtual keine vtable und damit keine Indirektion und damit derselbe Speicherverbrauch/Laufzeit wie bei C.