Стандарт C ++ 03 (ISO-IEC 14882-2003) гласит в пункте 3 пункта 20.4.5:
[...] [ Примечание: [...] auto_ptr не соответствует требованиям CopyConstructible и Assignable для элементов контейнера стандартной библиотеки и, следовательно, создание экземпляра контейнера стандартной библиотеки с auto_ptr приводит к неопределенному поведению. - конец примечания ]
Стандарт C ++ 11 (ISO-IEC 14882-2011) гласит в добавлении D.10.1 пункт 3:
[...]
Примечание: [...] Экземпляры auto_ptr соответствуют требованиям MoveConstructible и MoveAssignable, но не соответствуют требованиям CopyConstructible и CopyAssignable. - конец примечания]
Стандарт C ++ 14 (ISO-IEC 14882-2014) гласит в приложении C.4.2 Приложение D: функции совместимости:
Изменение : шаблоны классов auto_ptr, unary_function и binary_function, шаблоны функций random_shuffle и шаблоны функций (и их возвращаемые типы) ptr_fun, mem_fun, mem_fun_ref, bind1st и bind2nd не определены.
Обоснование : заменено новыми функциями.
Эффект на исходную функцию : допустимый код C ++ 2014, который использует эти шаблоны классов и шаблоны функций, может не скомпилироваться в этом международном стандарте.