new 연산자는 힙 메모리에 변수를 넣는 동적 메모리 할당에 사용됩니다. Delete[] 연산자는 힙에서 해당 메모리를 할당 해제하는 데 사용됩니다. New 연산자는 메인 블록에 생성한 요소의 수를 저장하므로 delete[]가 해당 번호를 사용하여 해당 메모리를 할당 해제할 수 있습니다.
예시 코드
#include <iostream>
using namespace std;
int main() {
int B = 4;
int A = 5;
int** a = new int*[B];
for(int i = 0; i < B; ++i)
a[i] = new int[A];
for(int i = 0; i < B; ++i)
for(int j = 0; j < A; ++j)
a[i][j] = i;
for(int i = 0; i < B; ++i)
for(int j = 0; j < A; ++j)
cout << a[i][j] << "\n";
for(int i = 0; i < A; ++i)
delete [] a[i];
delete [] a;
return 0;
} 출력
0 0 0 0 0 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3