Оператор присваивания копии должен быть объявлен, когда будет оператор присваивания шаблона параметром, который является типовым параметром
Оператор присваивания копии должен быть объявлен, когда будет оператор присваивания шаблона параметром, который является типовым параметром.
При объявлении пользовательского оператора присваивания подавлен соответствующий неявный оператор. При объявлении оператора присваивания шаблона, который имеет типовой параметр, не сохраняется это поведение. В этом случае, чтобы подавить неявный мелко копирующий оператор, явным образом инстанцируйте версии оператора присваивания копии для класса.
Если вы не объявляете оператор присваивания копии для класса, сгенерированный компилятором оператор присваивания копии может использоваться вместо этого на реализации. Не объявление оператора присваивания копии явным образом может привести к неожиданному результату, такому как создание мелкой копии, когда глубокая копия была предназначена.
Polyspace® флаги это средство проверки, если структура, класс или объединение содержат оператор присваивания шаблона, который имеет типовой параметр, но никакой оператор присваивания копии не присутствует в структуре, классе или объединении.
Если вы ожидаете нарушение правила, но не видите его, относитесь, чтобы Диагностировать, Почему Кодирующие Стандартные Нарушения Не Появляются как ожидалось.
Группа: шаблоны |
Категория: необходимый |