Home shared_ptr 직접 구현해보기
Post
Cancel

shared_ptr 직접 구현해보기

Reference Class

Reference 클래스는 레퍼런스 카운트를 가지며 이를 통해 생성된 객체를 관리합니다.

Shared_ptr Class

shared_ptr는 템플릿 클래스입니다. new로 생성한 객체의 포인터를 가지는 클래스이며 Reference클래스를 반드시 상속 받아야만 사용 가능하게 작성했습니다.

  • operator=, operator==, operator!=는 생략했습니다. shared_ptr을 사용하기 위해서는 필수로 구현하셔야 합니다.

전역 연산자 오버로딩

shared_ptr을 제대로 사용하기 위해서는 std::nullptr_t와 비교하는 전역 연산자 오버로딩 또한 필요합니다.

끝으로

방어 코드 없이 간략하게 작성해보았습니다. 상속 받아야만 사용가능하다는 점이 단점이지만 구현이 쉬운편이므로 직접 해보시면 좋겠습니다.

전체 코드는 이곳에서 확인하실 수 있습니다.

This post is licensed under CC BY 4.0 by the author.

-

델타 타임(Delta time) 계산하기 - 게임에서 시간을 계산하는 방법