Поделиться через


/vmm, /vms и /vmv (представление общего назначения)

Обновлен: Ноябрь 2007

Параметры используются в случае, если /vmb, /vmg (метод представления) выбран в качестве /vmb, /vmg (метод представления). Эти параметры указывают модель наследования для определения класса, которое еще не обнаружено.

 /vmm /vms /vmv

Заметки

Данные параметры описаны в следующей таблице.

Параметр

Описание

/vmm

Задает в качестве наиболее общего представления указателя на член класса представление, в котором используется множественное наследование.

Соответствующим Inheritance Keywords и аргументом для pointers_to_members является multiple_inheritance.

Размер этого представления больше, чем у представления, необходимого для одиночного наследования.

Если модель наследования определения класса, для которой объявлен указатель на член класса, является виртуальной, то компилятор создаст ошибку.

/vms

Задает в качестве наиболее общего представления указателя на член класса представление, в котором наследование не используется или используется одиночное наследование.

Соответствующим Inheritance Keywords и аргументом для pointers_to_members является single_inheritance.

Это наименьшее возможное представление указателя на член класса.

Если модель наследования определения класса, для которой объявлен указатель на член класса, является множественной или виртуальной, то компилятор создаст ошибку.

/vmv

Задает в качестве наиболее общего представления указателя на член класса представление, в котором используется виртуальное наследование. В этом случае ошибка никогда не возникает. Данное представление является представлением по умолчанию.

Соответствующим Inheritance Keywords и аргументом для pointers_to_members является virtual_inheritance.

По сравнению с другими параметрами для этого параметра требуются более крупные указатели и дополнительный код для интерпретации указателей.

При задании одного из описанных выше параметров модели наследования выбранная модель используется для всех указателей на члены класса вне зависимости от их типа наследования и того, объявлен указатель до или после класса. Таким образом, если всегда используются классы с одиночным наследованием, то размер кода можно уменьшить путем компиляции с параметром /vms. В то же время, если требуется использовать самый общий случай (за счет максимально объемного представления данных), следует компилировать код с параметром /vmv.

Установка данного параметра компилятора в среде разработки Visual Studio

  1. Откройте диалоговое окно Страницы свойств проекта. Дополнительные сведения см. в разделе Открытие свойств страниц проекта.

  2. Щелкните папку C/C++.

  3. Выберите страницу свойств Командная строка.

  4. Введите параметр компилятора в поле Дополнительные параметры.

Установка данного параметра компилятора программным способом

См. также

Ссылки

/vmb, /vmg (метод представления)

Параметры компилятора

Настройка параметров компилятора