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