/vmm, /vms, /vmv (Representación de propósito general)/vmm, /vms, /vmv (General Purpose Representation)

Se usa cuando /vmb, /vmg (método de representación) está seleccionado como el método de representación.Used when /vmb, /vmg (Representation Method) is selected as the representation method. Estas opciones indican el modelo de herencia de la definición de clase aún no encontrada.These options indicate the inheritance model of the not-yet-encountered class definition.

SintaxisSyntax

/vmm
/vms
/vmv

ComentariosRemarks

Estas opciones se describen en la siguiente tabla.The options are described in the following table.

OpciónOption DescripciónDescription
/vmm/vmm Especifica la representación más general de un puntero a un miembro de una clase como aquella que usa la herencia múltiple.Specifies the most general representation of a pointer to a member of a class to be one that uses multiple inheritance.

El correspondiente palabra clave de herencia y el argumento #pragma pointers_to_members es herencia múltiple.The corresponding inheritance keyword and argument to #pragma pointers_to_members is multiple_inheritance.

Esta representación es mayor que el necesario para la herencia única.This representation is larger than that required for single inheritance.

Si el modelo de herencia de una definición de clase para el que se declara un puntero a un miembro es virtual, el compilador genera un error.If the inheritance model of a class definition for which a pointer to a member is declared is virtual, the compiler generates an error.
/vms/vms Especifica la representación más general de un puntero a un miembro de una clase como aquella que no usa la herencia única o ninguna herencia.Specifies the most general representation of a pointer to a member of a class to be one that uses either no inheritance or single inheritance.

El correspondiente palabra clave de herencia y el argumento #pragma pointers_to_members es herencia única.The corresponding inheritance keyword and argument to #pragma pointers_to_members is single_inheritance.

Se trata de la representación más pequeña posible de un puntero a un miembro de una clase.This is the smallest possible representation of a pointer to a member of a class.

Si el modelo de herencia de una definición de clase para el que se declara un puntero a un miembro es múltiple o virtual, el compilador genera un error.If the inheritance model of a class definition for which a pointer to a member is declared is multiple or virtual, the compiler generates an error.
/vmv/vmv Especifica la representación más general de un puntero a un miembro de una clase como aquella que usa la herencia virtual.Specifies the most general representation of a pointer to a member of a class to be one that uses virtual inheritance. Nunca produce un error y es el valor predeterminado.It never causes an error and is the default.

El correspondiente palabra clave de herencia y el argumento #pragma pointers_to_members es virtual_inheritance.The corresponding inheritance keyword and argument to #pragma pointers_to_members is virtual_inheritance.

Esta opción requiere un puntero de mayor tamaño y el código adicional para interpretar el puntero que las otras opciones.This option requires a larger pointer and additional code to interpret the pointer than the other options.

Al especificar una de estas opciones de modelo de herencia, se utiliza ese modelo para todos los punteros a miembros de clase, independientemente de su tipo de herencia o si el puntero se declara antes o después de la clase.When you specify one of these inheritance-model options, that model is used for all pointers to class members, regardless of their inheritance type or whether the pointer is declared before or after the class. Por lo tanto, si siempre usa clases de herencia única, puede reducir el tamaño del código al compilar con /VMs; sin embargo, si desea usar el caso más general (a costa de la representación de datos más grande), compile con /vmv.Therefore, if you always use single-inheritance classes, you can reduce code size by compiling with /vms; however, if you want to use the most general case (at the expense of the largest data representation), compile with /vmv.

Para establecer esta opción del compilador en el entorno de desarrollo de Visual StudioTo set this compiler option in the Visual Studio development environment

  1. Abra el cuadro de diálogo Páginas de propiedades del proyecto.Open the project's Property Pages dialog box. Para obtener más información, consulte propiedades de compilación y el compilador de C++ establece en Visual Studio.For details, see Set C++ compiler and build properties in Visual Studio.

  2. Haga clic en la carpeta C/C++ .Click the C/C++ folder.

  3. Haga clic en la página de propiedades Línea de comandos .Click the Command Line property page.

  4. Escriba la opción del compilador en el cuadro Opciones adicionales .Type the compiler option in the Additional Options box.

Para establecer esta opción del compilador mediante programaciónTo set this compiler option programmatically

Vea tambiénSee also

/vmb, /vmg (Método de representación)/vmb, /vmg (Representation Method)
Opciones del compilador de MSVCMSVC Compiler Options
Sintaxis de la línea de comandos del compilador MSVCMSVC Compiler Command-Line Syntax