C ++ 03 표준 (ISO-IEC 14882-2003) 은 20.4.5 단락 3에서 말합니다 :
[...] [ 참고 : [...] auto_ptr은 표준 라이브러리 컨테이너 요소에 대한 CopyConstructible 및 Assignable 요구 사항을 충족하지 않으므로 auto_ptr로 표준 라이브러리 컨테이너를 인스턴스화하면 정의되지 않은 동작이 발생합니다. — 끝 참고 ]
C ++ 11 표준 (ISO-IEC 14882-2011) 은 부록 D.10.1 단락 3에서 말합니다 :
[...]
참고 : [...] auto_ptr 인스턴스는 MoveConstructible 및 MoveAssignable의 요구 사항을 충족하지만 CopyConstructible 및 CopyAssignable의 요구 사항은 충족하지 않습니다. — 끝 참고]
부록 C.4.2 부록 D : C ++ 14 표준 (ISO-IEC 14882-2014)에 호환성 기능이 나와 있습니다.
변경 : 클래스 템플릿 auto_ptr, unary_function 및 binary_function, 함수 템플릿 random_shuffle 및 함수 템플릿 (및 반환 유형) ptr_fun, mem_fun, mem_fun_ref, bind1st 및 bind2nd는 정의되지 않습니다.
이론적 근거 : 새로운 기능으로 대체되었습니다.
원래 기능에 미치는 영향 :이 클래스 템플릿과 함수 템플릿을 사용하는 유효한 C ++ 2014 코드는이 국제 표준에서 컴파일되지 않을 수 있습니다.