manual lifetime

new/delete 수명 주기

힙 메모리는 포인터가 아니라 할당 블록이 주인공이다. 생성, 사용, 해제, 무효화까지 한 흐름으로 확인해야 누수와 댕글링을 줄일 수 있다.

new

힙 블록 확보

필요한 타입과 개수만큼 공간을 만든다.

ptr

주소 보관

포인터는 블록의 시작 주소만 기억한다.

delete[]

짝 맞춰 해제

배열은 대괄호까지 같은 규칙으로 닫는다.

nullptr

재사용 차단

해제 후 남은 주소를 빈 상태로 바꾼다.

leak

해제 누락

할당 경로마다 해제 경로가 있는지 본다.

dangling

해제 후 접근

delete 뒤 역참조가 남아 있으면 위험하다.

mismatch

짝 불일치

new[]에는 delete[]를 붙여서 닫는다.