new : 힙 영역에 메모리 할당
<int 형 데이터 1개 저장>
int * arr = new int;
<길이가 size인 int형 배열 저장>
int * arr = new int[size];
NULL포인터를 리턴하는 new연산자
: 메모리 공간의 여의치 않다면(메모리를 할당만 하고, 적절히 소멸해 주지 않을 경우에 발생) new연산자에 의한 메모리 할당이 실패로 돌아갈 수도 있는 일. 이러한 경우 new 연산자는 NULL 포인터를 리턴..
NULL 포인터란 정수 0을 의미. 매크로로 정의되어 있는 상수 NULL을 사용해도 되고, 직접 0을 사용할 수도 있다.
delete 메모리 해제
<데이터 1개>
delete val;
할당된 메모리 공간이 배열인 경우, 2차 배열이건 3차배열이건 배열을 해제 할 때
delete[] arr;
이라 써주면 된다.
<int 형 데이터 1개 저장>
int * arr = new int;
<길이가 size인 int형 배열 저장>
int * arr = new int[size];
NULL포인터를 리턴하는 new연산자
: 메모리 공간의 여의치 않다면(메모리를 할당만 하고, 적절히 소멸해 주지 않을 경우에 발생) new연산자에 의한 메모리 할당이 실패로 돌아갈 수도 있는 일. 이러한 경우 new 연산자는 NULL 포인터를 리턴..
NULL 포인터란 정수 0을 의미. 매크로로 정의되어 있는 상수 NULL을 사용해도 되고, 직접 0을 사용할 수도 있다.
delete 메모리 해제
<데이터 1개>
delete val;
할당된 메모리 공간이 배열인 경우, 2차 배열이건 3차배열이건 배열을 해제 할 때
delete[] arr;
이라 써주면 된다.
#include <iostream> using std::cout; int main(void)
} |
'Language > C++' 카테고리의 다른 글
복사생성자가 호출되는 시점 (0) | 2011.03.07 |
---|---|
깊은 복사(Deep Copy) ..(const Person& p) 명시적 정의 (0) | 2011.03.07 |
객체 포인터 배열 (0) | 2011.03.04 |
생성자와 동적할당 (0) | 2011.03.04 |
포인터를 이용한 Call-By-Reference / 레퍼런스를 이용한 Call-By-Reference (0) | 2011.03.03 |