Condividi tramite


/vmm, /vms, /vmv (Rappresentazione generale)

Viene utilizzato quando /vmb, /vmg (Metodo di rappresentazione) è selezionato come metodo di rappresentazione. Queste opzioni indicano il modello di ereditarietà della definizione delle classi non ancora specificate.

/vmm
/vms
/vmv

Note

Le opzioni sono descritte nella tabella riportata di seguito.

Opzione

Descrizione

/vmm

Specifica che la rappresentazione più generale di un puntatore a un membro di una classe è del tipo che utilizza l'ereditarietà multipla.

La parola chiave di ereditarietà corrispondente e l'argomento di #pragma pointers_to_members sono multiple_inheritance.

Questa rappresentazione è più grande di quella richiesta per l'ereditarietà singola.

Se il modello di ereditarietà di una definizione di classe per cui un puntatore a un membro è dichiarato è virtuale, il compilatore genererà un errore.

/vms

Specifica che la rappresentazione più generale di un puntatore a un membro di una classe è del tipo che utilizza l'ereditarietà singola o che non la utilizza affatto.

La parola chiave di ereditarietà corrispondente e l'argomento di #pragma pointers_to_members sono single_inheritance.

Questa è la rappresentazione più piccola possibile di un puntatore a un membro di una classe.

Se il modello di ereditarietà di una definizione di classe per cui un puntatore a un membro è dichiarato è multiplo o virtuale, il compilatore genererà un errore.

/vmv

Specifica che la rappresentazione più generale di un puntatore a un membro di una classe è del tipo che utilizza l'ereditarietà virtuale. Non produce mai un errore ed è l'impostazione predefinita.

La parola chiave di ereditarietà corrispondente e l'argomento di #pragma pointers_to_members sono virtual_inheritance.

Questa opzione richiede un puntatore più grande e del codice aggiuntivo per interpretare il puntatore rispetto alle altre opzioni.

Quando si specifica una di queste opzioni di modelli di ereditarietà, il modello scelto verrà utilizzato per tutti i puntatori ai membri di classe, indipendentemente dal tipo di ereditarietà o dal fatto che il puntatore venga dichiarato prima o dopo la classe. Pertanto, se si utilizzano sempre classi a ereditarietà singola, è possibile ridurre le dimensioni del codice eseguendo la compilazione con /vms. Se tuttavia si desidera utilizzare il caso più generale, rinunciando alla rappresentazione dei dati di dimensioni maggiori, la compilazione deve essere eseguita con /vmv.

Per impostare l'opzione del compilatore nell'ambiente di sviluppo di Visual Studio

  1. Aprire la finestra di dialogo Pagine delle proprietà del progetto. Per informazioni dettagliate, vedere Procedura: aprire le pagine delle proprietà dei progetti.

  2. Fare clic sulla cartella C/C++.

  3. Fare clic sulla pagina delle proprietà Riga di comando.

  4. Digitare l'opzione del compilatore nella casella Opzioni aggiuntive.

Per impostare l'opzione del compilatore a livello di codice

Vedere anche

Riferimenti

/vmb, /vmg (Metodo di rappresentazione)

Opzioni del compilatore

Impostazione delle opzioni del compilatore