vtordisp
Específico de C++
Controla a adição de membro oculto de deslocamento de compilação/destruição de vtordisp.
#pragma vtordisp([push,] n)
#pragma vtordisp(pop)
#pragma vtordisp()
#pragma vtordisp([push,] {on | off})
Parâmetros
push
Pressiona a configuração atual de vtordisp na pilha interna do compilador e define o novo vtordisp que define a n.Se n não for especificado, a configuração atual de vtordisp não é alterada.pop
Remove o registro superior da pilha interna do compilador e restaura o vtordisp que define o valor removido.n
Especifica o novo valor para a configuração de vtordisp.Os valores possíveis são 0, 1 ou 2, correspondentes à /vd0, /vd1, e as opções de compilador /vd2.Para mais informações, consulte /VD (finalizar a construção de disable).on
Equivalente a #pragma vtordisp(1).off
Equivalente a #pragma vtordisp(0).
Comentários
O pragma de vtordisp é aplicável somente o código que usa bases virtuais.Se uma classe derivada substitui uma função virtual que herda de uma classe base virtual, e se um construtor ou destrutor para chamadas de classe derivada que funcionam usando um ponteiro para a classe base virtual, o compilador pode introduzir campos ocultos adicionais de vtordisp com base em classes virtuais.
O pragma de vtordisp afeta o layout das classes que o seguir./vd0, /vd1, /vd2 E opções de especificam o mesmo comportamento para módulos completos.Especificar 0 ou off suprime os membros ocultos de vtordisp .Desativar vtordisp somente se não houver nenhuma possibilidade dos construtores e destrutores da classe chamam funções virtuais no objeto apontada pelo ponteiro de this .
Especificando 1 ou on, a opção, permite que os membros ocultos de vtordisp onde são necessários.
Especificar 2 permite que os membros ocultos de vtordisp para todas as bases virtuais com funções virtuais.vtordisp(2) pode ser necessário para garantir que o desempenho correto de dynamic_cast em um objeto parcial construído.Para mais informações, consulte Aviso do compilador (nível 1) C4436.
#pragma vtordisp(), sem argumentos, restaurar o vtordisp que define a sua configuração inicial.
#pragma vtordisp(push, 2)
class GetReal : virtual public VBase { ... };
#pragma vtordisp(pop)
Específico de FIM C++