[Effective C++] 16. new 및 delete를 사용할 때는 형태를 반드시 맞추자

C++/Effective C++

2020. 8. 3. 21:24

1. new에는 delete, new 배열에는 delete[]

배열에 대해서 new 메모리 할당을 하게 되면 반드시 delete[] 를 통해서 메모리를 해제해 줘야한다. 대괄호 쌍([])을 붙여 줘야만 delete가 '포인터가 배열을 가리키고 있구나'라고 가정하게 된다. 그렇지 않으면 단일 객체라고 간주하게 된다.

 

이것만은 잊지 말자!

  • new 표현식에 []를 썼으면, 대응되는 delete 표현식에도 []를 써야 한다. 마찬가지로 new 표현식에 []를 안 썼으면, 대응되는 delete 표현식에도 []를 쓰지 말아야 한다.