Share via


/vmm, /vms, /vmv (Immer allgemeiner Zweck)

Wird verwendet, wenn /vmb, /vmg (Darstellungsmethode) als Darstellungsmethode ausgewählt ist.Diese Optionen legen das Vererbungsmodell der bis jetzt noch nicht verarbeiteten Klassendefinition fest.

/vmm
/vms
/vmv

Hinweise

Die Optionen werden in der folgenden Tabelle beschrieben.

Option

Beschreibung

/vmm

Gibt die allgemeinste Darstellung eines Zeigers auf einen Member einer Klasse an, das mehrfache Vererbung verwendet.

Das entsprechende Vererbungsschlüsselwort und das Argument für #pragma pointers_to_members ist multiple_inheritance.

Diese Darstellung ist größer als die, die für einfache Vererbung erforderlich ist.

Hat eine Klassendefinition, für die ein Zeiger auf einen Member definiert ist, ein virtuelles Vererbungsmodell, generiert der Compiler einen Fehler.

/vms

Gibt die allgemeinste Darstellung eines Zeigers auf einen Member einer Klasse an, das einen Member mit einfacher bzw. ohne Vererbung verwendet.

Das entsprechende Vererbungsschlüsselwort und das Argument für #pragma pointers_to_members ist single_inheritance.

Dieses ist die kleinstmögliche Darstellung eines Zeigers auf einen Member einer Klasse.

Hat eine Klassendefinition, für die ein Zeiger auf einen Member definiert ist, ein mehrfaches oder virtuelles Vererbungsmodell, generiert der Compiler einen Fehler.

/vmv

Gibt die allgemeinste Darstellung eines Zeigers auf einen Member einer Klasse an, das einen Member mit virtueller Vererbung verwendet.Die Option generiert keinen Fehler. Sie ist die Standardeinstellung.

Das entsprechende Vererbungsschlüsselwort und das Argument für #pragma pointers_to_members ist virtual_inheritance.

Im Vergleich zu den anderen Optionen erfordert diese Option einen größeren Zeiger und zusätzlichen Code zu dessen Interpretation.

Wenn Sie eine dieser Optionen für Vererbungsmodelle angeben, wird das entsprechende Modell für alle Zeiger auf Klassenmember verwendet, unabhängig von deren Vererbungstyp oder davon, ob der Zeiger vor oder nach der Klasse deklariert wird.Daher können Sie bei ausschließlicher Verwendung von einfach geerbten Klassen die Codegröße durch das Kompilieren mit /vms reduzieren. Wenn Sie jedoch mit der Standardeinstellung vorgehen möchten (die allerdings die größte Datendarstellung bedeutet), kompilieren Sie mit /vmv.

So legen Sie diese Compileroption in der Visual Studio-Entwicklungsumgebung fest

  1. Öffnen Sie das Dialogfeld Eigenschaftenseiten des Projekts.Ausführliche Informationen finden Sie unter Gewusst wie: Öffnen von Projekteigenschaftenseiten.

  2. Klicken Sie auf den Ordner C/C++.

  3. Klicken Sie auf die Eigenschaftenseite für die Befehlszeile.

  4. Geben Sie die Compileroption im Feld Zusätzliche Optionen ein.

So legen Sie diese Compileroption programmgesteuert fest

Siehe auch

Referenz

/vmb, /vmg (Darstellungsmethode)

Compileroptionen

Festlegen von Compileroptionen