스마트 포인터에 대해 공부하면서 참고했던 글이다.
스마트 포인터 개념에 대해 궁금한 경우 :
http://www.tcpschool.com/cpp/cpp_template_smartPointer
코딩교육 티씨피스쿨
4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등
tcpschool.com
좀 더 심화적인 개념을 알고싶은 경우 :
https://object-world.tistory.com/8
1. std::unique_ptr
C++ 메모리 관리 C++에서 생 포인터(raw pointer)를 관리하기는 쉽지 않다. 자바는 가비지 콜렉터가 이를 수행하지만 C++같은 경우 사용자가 직접 메모리를 관리해야 한다. 잘못된 메모리 관리는 메모
object-world.tistory.com
https://object-world.tistory.com/11
2. std::shared_ptr 과 std::weak_ptr
std::shared_ptr 동적 할당된 객체의 소유권을 공유할 때 std::shared_ptr 를 이용해 메모리를 관리한다. 메모리 해제 시점은 동적 객체를 가리키는 모든 공유 포인터가 더 이상 해당 객체를 가리키지
object-world.tistory.com
개념은 알겠고, 어떻게 써야할지 궁금한 경우 :
https://object-world.tistory.com/12
스마트 포인터 참조 가이드(Smart Pointer Referece Guide)
1. new를 이용한 동적 객체 생성은 피하되 필요한 경우 스마트 포인터를 사용하라. 스택을 사용하고 할당연산자나 이동/복사 연산을 사용하는게 객체의 수명 관리가 편해 코드가 어떻게 동작하는
object-world.tistory.com
나중에 나는 어떤식으로 스마트 포인터를 적용했는지 업데이트하면 좋을 것 같다.
'C, C++ > Modern C++' 카테고리의 다른 글
[C++ 11] noexcept (1) | 2022.06.27 |
---|---|
[C++ 11] 중괄호 초기화, 초기화 리스트(Initialize List) (0) | 2022.04.21 |
[C++ 11] 복사 생략(Copy Elision) (0) | 2022.04.21 |