/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
Aprire la finestra di dialogo Pagine delle proprietà del progetto.Per informazioni dettagliate, vedere Procedura: aprire le pagine delle proprietà dei progetti.
Fare clic sulla cartella C/C++.
Fare clic sulla pagina delle proprietà Riga di comando.
Digitare l'opzione del compilatore nella casella Opzioni aggiuntive.
Per impostare l'opzione del compilatore a livello di codice
- Vedere AdditionalOptions.