C++ 프로그램의 안정성은 메모리 관리에 의존한다.
메모리 자원을 효율적으로 사용하고 반납하기 위한 체크 리스트를 정리했다.
메모리 체크 리스트
-
할당 성공 여부:
new연산 실패 시std::bad_alloc예외가 발생한다.
메모리 부족 상황에 대비한 예외 처리가 필요하다. -
중복 해제 방지: 이미 해제된 메모리를 다시
delete하면 에러가 발생한다.
해제 후 포인터를nullptr로 초기화하여 댕글링 포인터 문제를 방지한다. -
배열 해제 규칙:
new[]로 할당한 배열은 반드시delete[]로 해제해야 한다. - 소유권 명확화: 메모리 해제 책임을 설계 단계에서 명확히 정의해야 메모리 누수를 방지할 수 있다.
자원 관리 책임
코드 한 줄이 시스템 전체 효율에 영향을 줄 수 있음을 인지해야 한다.
메모리 관리는 개발자의 기본 소양이다.
철저한 체크 습관을 통해 안정적인 소프트웨어를 제작해야 하는 것 같다.