Esatto.
Tra parentesi, guardando l'implementazione effettiva vedo che in realtà non viene memorizzato un puntatore al subobject base, quanto il normale puntatore alla vtable, in cui è memorizzato (oltre all'indirizzo degli eventuali metodi virtuali e al type info) l'offset del subobject base rispetto al "this". Questo è più efficiente, dato che non c'è bisogno di aggiustare il puntatore al momento della copia, e evita di tenere puntatori separati per vtable e subobject base. Il concetto di base comunque resta simile.
Per ulteriori informazioni sulla questione, qui c'è tutto.

Rispondi quotando