Annex C (informative) Compatibility [diff]

C.2 C++ and ISO C++ 2003 [diff.cpp03]

C.2.6 Clause [special]: special member functions [diff.cpp03.special]

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


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