Strutture del compilatore C ++ come il metodo virtuale Tabella ecc

5

Sono a conoscenza della tabella virtuale C ++ che consente il dispatch dinamico per fare cose in fase di esecuzione (anche se sono onesto non sono completamente sicuro dell'elenco completo delle cose che realizza).

Mi chiedo quali sono gli altri aspetti "di basso livello" del C ++, cosa che di solito non si incontra quando si apprende il linguaggio C ++?

Cose come:

-Come è il multithreading e il blocco sugli oggetti eseguiti?

- Sovraccarico / sovrascrittura funzioni

-Generics

Ci sono altre "strutture", simili al vtable, che assistono con questo tipo di cose a un livello inferiore?

(e se qualcuno può aiutare con ciò che effettivamente fa il VTable sarebbe più apprezzato!)

    
posta Roger 09.05.2012 - 14:21
fonte

1 risposta

4

Tabella virtuale

Direi che la descrizione più ufficiale delle tabelle virtuali si trova nel capitolo 10 del Manuale di riferimento Annotated C ++ (talvolta chiamato ARM) di Margaret Ellis e Bjarne Stroustrup. La mia copia è copyright 1990, non sono sicuro che sia l'ultima edizione.

Ci sono probabilmente descrizioni più semplici e più grafiche come

link

o proprio qui su Stack Exchange:

link

Come è il multithreading e il blocco sugli oggetti

Penso che questo non faccia parte della lingua originale.

thread-p (thread POSIX) sono un modo tipico per aumentare la lingua con una libreria e sono supportati su UNIX, Linux e altri sistemi operativi inclusi, sorprendentemente, anche Windows.

Un'altra libreria che supporta discussioni è Boost . Ho letto da qualche parte che alcuni dei boost di supporto Boost sono stati adottati dal comitato per gli standard C ++ e appaiono in C ++ 11.

C ++ 11 supporta i thread in un aggiornamento alla libreria standard. Esiste anche una nozione di archiviazione locale dei thread che è descritta brevemente dallo stesso riferimento.

Funzioni di sovraccarico / sovrascrittura

Il capitolo 13 di ARM discute questo argomento.

Generics

In C ++ questo sarebbe template.

Controlla il capitolo 14 di ARM.

    
risposta data 07.09.2012 - 08:57
fonte

Leggi altre domande sui tag