프로그래밍 언어/C & C++ 정리

new 동적 할당 delete와 nullptr의 이용

뽀또치즈맛 2023. 1. 16. 15:23

new 동적 할당 방법

 

typeName * pointer_name = new typeName;

 

typeName = 자료형

 

delete

 

예시 1)

int * ps = new int;

delete ps;

 

예시 2)

int *ps = new int;

int *pq = ps;

delete pq;

 

delete도 포인터와 같이 

ps나 pd가 가진 주소의 값(변수값)을 타고 들어가 지운다.

 

ps = &new 

ps = pq = &new

 

nullptr의 예시

 

ps = nullptr

pq = nullptr

 

 

 

이유는 포인터가 가지고 있던 주소 값은 바뀌지 않기 때문에

가리키던 주소를 초기화 해주는 것이다.

 

 

생성자와 new 그리고 delete

 

생성자에서 new를 사용하여 메모리를 대입했을 때에는,

대응하는 파괴자에서 delete를 사용하여 그 메모리를 해제해야 한다.

생성자에서 new [] 형식을 사용했다면,

파괴자에서도 delete [] 형식을 사용해야 한다.

 

'프로그래밍 언어 > C & C++ 정리' 카테고리의 다른 글

임시 변수, 참조 매개변수, const  (0) 2023.01.21
가변배열 동적할당 vector  (0) 2023.01.18
c++ 함수 구문  (0) 2023.01.13
main 함수의 머리  (0) 2023.01.11
인라인 함수  (0) 2023.01.09