클래스 A하고 B에서 shared_ptr<C>를 쓸건데
A에서는 non-const로 쓰고싶고
B에서는 const로 쓰고싶은데 어케함?
만약에 shared_ptr를 안썼다면
class A { C* c; }
class B { const C* c; }
b.c = a.c;
이런식으로 구현했을텐데
shared_ptr<C>하고 shared_ptr<const C> 이거는 서로 별개의 타입이라 b.c = a.c; 이게 안되는거같거든
클래스 A하고 B에서 shared_ptr<C>를 쓸건데
A에서는 non-const로 쓰고싶고
B에서는 const로 쓰고싶은데 어케함?
만약에 shared_ptr를 안썼다면
class A { C* c; }
class B { const C* c; }
b.c = a.c;
이런식으로 구현했을텐데
shared_ptr<C>하고 shared_ptr<const C> 이거는 서로 별개의 타입이라 b.c = a.c; 이게 안되는거같거든
따로 캐스팅 연산자 있는 걸로 아는뎅
http://en.cppreference.com/w/cpp/memory/shared_ptr/pointer_cast
이거 맞음? 길어서 읽지 않았읍니다
올 방금 그걸로 찾아보니 const_point_cast 이건가?
const_cast는 써봤는데 포인터버전이 있는줄은 첨알았네 ㅋ
아마? 물론 저는 읽지 않았읍니다... 써 본 적도 없음 별로 좋은 건 아니라 생각해서,