Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
C++ specifica
Controlla l'aggiunta del membro nascosto di navigazione della costruzione o la distruzione vtordisp.
#pragma vtordisp([push,] n)
#pragma vtordisp(pop)
#pragma vtordisp()
#pragma vtordisp([push,] {on | off})
Parametri
push
Richiede l'impostazione corrente vtordisp nello stack interno del compilatore e imposta il nuovo vtordisp che imposta a n.Se n non viene specificato, l'impostazione corrente vtordisp non viene modificata.pop
Rimuove il primo record dallo stack interno del compilatore e ripristina il vtordisp che imposta il valore rimosso.n
Specifica il nuovo valore per l'impostazione vtordisp.I valori possibili sono 0, 1 o 2, e su /vd0, /vd1 e alle opzioni del compilatore /vd2.Per ulteriori informazioni, vedere /vd (Disabilita spostamenti costruttori).on
Equivalente a #pragma vtordisp(1).off
Equivalente a #pragma vtordisp(0).
Note
Il pragma vtordisp è applicabile il solo codice che utilizza basi virtuali.Se una classe derivata esegue l'override di una funzione virtuale che eredita da una classe base virtuale e se un costruttore o un distruttore per le chiamate della classe derivata eseguite utilizzando un puntatore alla classe base virtuale, il compilatore potrebbe introdurre i campi nascosti aggiuntivi vtordisp le classi con basi virtuali.
Il pragma vtordisp influisce sul layout delle classi che il carattere./vd0, Le opzioni /vd1 e /vd2 specificano lo stesso comportamento per i moduli completi.Specificando 0 o off elimina i membri nascosti vtordisp.Disattivare vtordisp solo se non vi è possibile che i costruttori e distruttori di classe chiamano funzioni virtuali nell'oggetto a cui fa riferimento il puntatore this.
Specificando 1 o on, per impostazione predefinita, consente ai membri nascosti vtordisp in cui sono necessari.
Specificare 2 consente ai membri nascosti vtordisp per tutte le basi virtuali con funzioni virtuali.vtordisp(2) potrebbe essere necessario assicurare prestazioni corrette dynamic_cast su un oggetto parzialmente costruito.Per ulteriori informazioni, vedere Avviso del compilatore (livello 1) C4436.
#pragma vtordisp(), senza argomenti, ripristina il vtordisp impostata sul valore iniziale.
#pragma vtordisp(push, 2)
class GetReal : virtual public VBase { ... };
#pragma vtordisp(pop)
C++ FINALE specifico