[class.ctor], [class.dtor], Изменить: Косвенно-объявленные специальные функции - члены определяются как удаленные , когда неявное определение было бы плохо сформированным.
Обоснование: Улучшает ошибку вывода аргументов шаблона.
Влияние на исходную функцию:
допустимая программа C ++ 2003, использующая одну из этих специальных функций-членов в контексте, где определение не требуется (например, в выражении, которое потенциально не оценивается), становится некорректной. [class.copy]
[class.dtor] (деструкторы)
Изменение: объявленные пользователем деструкторы имеют неявную спецификацию исключения.
Обоснование: Уточнение требований к деструктору.
Влияние на исходную функцию:
действующий код C ++ 2003 в этом международном стандарте может выполняться иначе. В частности, деструкторы, которые генерируют исключения, будут вызывать std::terminate
(без вызова std::unexpected), если их спецификация исключения не выбрасывает.