[C++] shared_ptr, make_shared

Byeonggwan Kang·2021년 9월 2일

C++

목록 보기
1/2
post-thumbnail

c++은 포인터를 사용한 후에 메모리를 해제해줘야 합니다. 하지만 c++11의 스마트 포인터라고 불리는 shared_ptr은 포인터와 같이 동작하면서, 사용이 끝난 메모리를 자동으로 해제해줍니다. 헤더파일로 memory를 추가해줘야 합니다.

예시코드

#include <iostream>
#include <memory>

using namespace std;

int main() {
	using myIntPtr = shared_ptr<int>;

	myIntPtr p1 = make_shared<int>(123);
	auto p2 = make_shared<int>(456);

	cout << *p1 << endl;
	cout << *p2 << endl;

	return 0;
}
출력

123
456

메모리 할당에 사용된 make_shared는 new 키워드를 사용하는 것보다 예외로부터 안전하기 때문에 사용하길 권장합니다.

자세한 설명은 레퍼런스링크

0개의 댓글