new로 생성한 객체는 delete로 해제 시키고

new []로 생성한 객체는 delete []로 해제 시키자는 그런 내용.

단일 객체와 배열 객체의 구분을 잘 해야한다.

13. 자원 관리에는 객체가 그만!

Posted 2012. 10. 18. 17:59

객체삭제를 엄청 신경써서 하라는 내용.

혹시 객체를 삭제 하지 않았을때를 위해 auto_ptr과 shared_ptr을 얘기해고 있다.


자원 누출을 막기위해 생성자 안에서 자원을 획득하고 소멸자에서 그것을 해제하는

RAII객체를 사용하고

일반적으로 널리 쓰이는 RAII 클래스는 tr1::shared_ptr과 auto_ptr이다

이 둘 가운데 tr1::shared_ptr이 복사 시의 동작이 직관적이기 때문에 더 좋다.

반면 auto_ptr은 복사되는 객체를 NULL로 만들어 버린다.


즉.. 스마트 포인터에 대한 설명

부분복사가 일어 날수있으니 주의해야 한다.

객체 복사 함수는 주어진 객체의 모든 데이터 멤버 및 모든 기본 클래스 부분을 빠뜨리지 말고 

복사 해야 한다.

클래스 복사 함수 두개를 구현 할 때, 한쪽을 이용해서 다른 쪽을 구현하려는 시도는 하지말라.

그 대신, 공통된 동작을 제3의 함수에다 분리해 놓고 양쪽에서 이것을 호출하게 만들어서 해결하자.

« PREV : 1 : ··· : 49 : 50 : 51 : 52 : 53 : 54 : 55 : ··· : 77 : NEXT »