이유
1. 메모리 릭이 발생되기 때문이다.
2. 동적메모리 할당 중 에러 발생시, 예상치 못한 결과가 나올수 있다.
(참고) 널포인터 삭제는 언제나 안전하기 때문이다.

해결방법
1. 할당에 실패할시 0값을 넣어라. (C++0x 가 적용되면 nuulptr 이 쓰일것으로 생각된다)
2. 소멸자에서 delete를 이용해라.
3. 다음의 사항을 기억해라.
- 생성자 각각에서 포인터의 초기화, 만일 특정 생성자에서 메모리 할당되지 않았을 경우 0으로 초기화해라
- 할당 연산자에서 기존 메모리를 삭제하고 새로운 메모리의 할당해라(0값 해체는 아무일도 없음)
- 소멸자에서 포인터를 삭제 해라

주의점
1. 클래스 생성시 new를 사용하지 않았다면, delete를 수행하지 말아라.
(부득이하게 malloc으로 생성했다면, free를 이용 해라, 단 malloc은 언제나 피해라~ C++ 에선)

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 라이프코리아트위터 공유하기
  • shared
  • 카카오스토리 공유하기

댓글을 달아 주세요

">