Post List

2015년 1월 4일 일요일

new 및 delete를 사용할 때는 형태를 반드시 맞추자.

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

 typedef 로 배열을 선언하지 말자.

typedef std::string[4] AddressLines;

std::string *pal = new AddressLines;

delete pal;    // 3개가 지워지지 않음
delete [] pal; // 이렇게 해야 4개가 다 지워짐




 위의 경우에는 배열이 아니라 차라리 vector를 활용해도 된다.

댓글 없음:

댓글 쓰기