728x90

c언어에서는 malloc과 free로 동적 메모리를 할당, 해제 했지만 c++에서는 new와 delete로 할당 해제가 가능하다.

 

기본 형식

int *pInt = new int(초기값);
char *pChar = new char(초기값);
Circle *pCircle = new Circle();

delete pInt;
delete pChar;
delete pCircle;

다음 코드처럼 동적 할당할 변수는 포인터로 관리한다.  할당 해제는 관리하는 포인터를 제거하면 된다.

 

배열도 동적 할당 및 반환이 가능하다.

int *pArray = new int [10] {초기값};
delete [] pArray;

다만, 포인터를 제거할때 배열이므로 []를 붙여주자.

 

//동적할당할때 포인터를 제거하면 메모리만 반환되고 실제 포인터값은 살아있다

728x90

+ Recent posts