호환되는 모든 타입을 받아들이는 멤버 함수를 만들려면 멤버 함수 템플릿을 사용해라. 일반화된 복사 생성 연산과 일반화된 대입 연산을 위해 멤버 템플릿을 선언했다 하더라도, 보통의 복사 생성자와 복사 대입 연산자는 직접 선언해야 한다. 호환되는 모든 타입을 받아들이는 데는 멤버 함수를 사용 스마트 포인터는 그냥 포인터처럼 동작하면서도 포인터가 주지 못하는 기능을 갖고 있다. 예를 들면 힙 기반 자원의 삭제를 지원하는 auto_ptr이나 tr1::shared_ptr 객체가 있다. STL 컨테이너의 반복자도 스마트 포인터와 같다. 포인터에도 스마트 포인터로 대신할 수 없는 특징이 있다. 그중 하나가 암시적 변환을 지원하는 점이다. 파생 클래스 포인터는 암시적으로 기본 클래스 포인터로 변환되고, 비상수 객체에 ..