Game!

 

C++ 에서 동적 할당을 할 때는 일반적인 포인터를 사용했다. (전통적인 방법)

 

스마트 포인터 라는 것을 사용하면

객체가 지워져야 할 때 굳이 delete 를 해주지 않아도 자동으로 잘 삭제해줄 수 있다.

 

스마트 포인터를 사용하려면 #include <memory> 를 해줘야 한다.

스마트 포인터는 3가지 종류가 있다.

unique_ptr, shared_ptr, week_ptr

 

기본적인 사용 방법

unique_ptr<int>(new int(5));

 

// 잘못된 사용 방법

unique_ptr<int> a = new int(5);

위의 코드는 변환 생성자를 암시하고 있기 때문에 스마트 포인터에서는 변환 생성자를 묵시적으로 호출할 수 없다.

그래서 반드시 아래의 형태로 사용해야한다.

unique_ptr<int> a(new int(5));

 

https://www.youtube.com/watch?v=DYSEulQoj8Q

'Language > C++' 카테고리의 다른 글

[C++] cin 입력 시 공백 포함 으로 입력 받기  (0) 2024.01.17
[C++] 함수 객체와 임시 객체  (0) 2023.11.23
[펌] 생성자 소멸자 관련  (0) 2023.08.19
[BT] 요약  (0) 2023.08.18
[C++] C++ 스타일 파일입출력  (0) 2022.11.12