728x90
동적 할당
- 컴퓨터 프로그래밍에서 실행 시간 동안 사용할 메모리 공간을 할당하는 것
- 크기가 정확히 얼마나 요구되는지 모르는 경우에 주로 사용한다.
C++의 동적 할당 연산자
new 연산자
- heap에 메모리를 만들고 그 주소를 리턴한다.
- 메모리에 공간이 없다면 NULL을 반환한다.
delete 연산자
- 가리키는 주소의 메모리를 해제한다.
메모리 할당 사용법
타입 *변수명 = new 타입; //메모리 할당
delete 변수명; //메모리 할당해제
배열 형태의 메모리 할당 및 해제
타입 *변수명 = new 타입[크기]; //배열 형태 메모리 할당
delete[] 변수명; //배열 형태 메모리 할당해제
메모리 누수 (Memory Leak)
필요하지 않은 메모리를 계속 점유하고 있는 현상을 말한다.
자바의 경우는 사용하지 않은 메모리를 자동으로 해제해주는 가비지 컬렉터(Garbage Collector) 기능이 있지만,
C나 C++의 경우는 없다.
그러므로, 동적할당을 했으면 꼭! 해제를 해줘야 한다.
new로 할당했으면 꼭 delete로 해제해주기!
728x90
'Programming > C++' 카테고리의 다른 글
[C/C++] VS Code에서 Code Runner로 C / C++ 빌드 및 실행하기 (2) | 2021.07.14 |
---|---|
[Visual Studio Code] VS Code C / C++ 컴파일, 실행, 디버깅 (4) | 2021.01.13 |