manual memory risks

수동 메모리 관리는 해제 경로가 빠질 때 바로 위험해진다

실패는 대부분 할당과 해제 사이의 책임이 흐려지거나, 이미 끝난 주소를 다시 만질 때 생깁니다.

메모리 누수

newdelete 경로가 빠져 힙 블록이 계속 남습니다.

예방: 소유자와 해제 위치를 한 곳에서 관리
댕글링 포인터

delete 후 포인터가 해제된 주소를 계속 들고 있습니다.

예방: 해제 직후 nullptr 대입
이중 해제

같은 주소를 두 번 해제해 런타임 오류나 메모리 손상을 일으킵니다.

예방: 소유권을 하나로 제한
짝 불일치

new[]delete, 또는 newdelete[]를 섞습니다.

예방: 할당 모양과 해제 모양 일치
현대 C++의 방향

가능하면 std::vector, std::string, 스마트 포인터처럼 수명을 객체가 관리하는 RAII 방식을 우선 사용합니다.