Programming/C++ / STL2010.09.16 10:07
new와 delete,
new[] 와 delete[] 가 묶여야 한다고 한다.

즉,
 int *a = new int;
 delete a;

 int *arr = new int[10];
 delete[] arr; // delete arr[]; 이 아님

그렇다고 해서 링크드 리스트 처럼 다층으로 메모리를 할당하는 구조에서는
delete[] 가 자동으로 해주진 않는것으로 보인다.
(그냥 STL 쓰면 해결된다는 지인의 조언이 -_-)

[링크 : http://yesarang.tistory.com/39]

'Programming > C++ / STL' 카테고리의 다른 글

c++ template  (0) 2012.05.12
리눅스에서 c++ 컴파일시 strcpy / strcat 오류  (0) 2011.10.13
new / new[] / delete / delete[]  (4) 2010.09.16
cout 그리고 namespace  (0) 2010.09.16
C++ 레퍼런스 변수(reference variable)  (4) 2010.09.15
C++0x  (0) 2010.09.15
Posted by 구차니

댓글을 달아 주세요

  1. 전 new 하면 html 에서 새로운 창 띄우기 밖에 모른다는 ㅎㅎ

    2010.09.16 11:12 신고 [ ADDR : EDIT/ DEL : REPLY ]
  2. 배열은 특별한 경우를 제외하고는 vector로 거의 대체 할수 있다고 생각하시면 되요.
    NULL 초기화와 SafeDelete 매크로 사용을 습관화 하는것이 좋아욤~

    2010.09.16 15:48 신고 [ ADDR : EDIT/ DEL : REPLY ]
    • 음.. 일단 STL은 너무나 먼 당신이라 ㅋ
      C와 C++의 차이점부터 파악중이에요 ㅎ

      SafeDelete라.. 찾아볼께 자꾸만 많아지네요 ㅠ.ㅠ

      2010.09.16 15:52 신고 [ ADDR : EDIT/ DEL ]