dynamic memory

동적 메모리는 실행 중 필요한 만큼 힙에 만들고 직접 해제한다

스택 변수와 달리 힙에 만든 공간은 사용자가 수명 종료 시점을 명시해야 합니다.

스택과 힙의 차이

스택블록을 벗어나면 지역 변수가 자동으로 사라집니다.
new로 만든 공간은 delete 전까지 남습니다.
포인터힙 블록의 주소를 저장해 접근하는 손잡이 역할을 합니다.

동적 할당이 필요한 경우

크기사용자 입력처럼 실행 중에 필요한 크기가 정해집니다.
수명함수가 끝난 뒤에도 데이터가 남아 있어야 합니다.
용량큰 배열이나 객체를 제한된 스택 대신 힙에 둡니다.
할당

new가 힙 공간을 만들고 주소를 반환합니다.

사용

포인터로 값을 읽거나 바꾸지만 소유 책임도 따라옵니다.

해제

delete 또는 delete[]로 수명을 끝냅니다.

동적 메모리의 핵심은 “필요할 때 만들고, 끝나면 반드시 짝에 맞게 해제한다”입니다.