Item17_new로 생성한 객체를 스마트 포인터에 저장하는 코드는 별도의 한 문장으로 만들자
챕터 핵심 내용
- new로 생성한 객체를 스마트 포인터로 넣는 코드는 별도의 한 문장으로 만들자. 이것이 안 되어 있다면, 예외가 발생될 때 디버깅하기 힘든 자원 누출이 초래될 수 있다.
- new로 생성한 객체를 스마트 포인터로 넣는 코드는 별도의 한 문장으로 만들자. 이것이 안 되어 있다면, 예외가 발생될 때 디버깅하기 힘든 자원 누출이 초래될 수 있다.
tr1::shared_ptr
의 생성자는 명시적으로 선언되야 한다.- 함수 호출에 필요한 연산을 만들어 내는 코드는 실행되는 순서가 컴파일러 제작사마다 다르다.
후기(postscript)
C++11부터는 tr1에 있던
shared_ptr
이 표준으로 들어왔다. 또한 위에 해당하는 함수도<memory>
헤더에std::make_shared
함수로 존재한다.