1. 클래스 변수로 사용할 때 한 클래스에서만 스마트포인터로 정의하고

함수 인자 넘길때는 get() 함수 이용해서 raw 포인터로 씀


2. const 스맛포인터 레퍼런스로 넘김


3. move로 옮기면서 넘겼다가 리턴할때 다시 돌려받기




요셋중 하나같은데 사람들이 많이 쓰거나 바람직하다고 하는 방법이 뭐임 보통?


글고 2번 경우에 unique_ptr 로 저장한 원래 클래스A 이외에 타클래스B에서도 포인터를


멤버로 갖게 하고 그 포인터 초기화하고 싶을땐 소유권 이전시키면 되는거임? 어차피 유닠포이너는


복사나 대입이 안되니까 원래 개념대로면 쉐어포인터쓰는게 맞는거 같기도 한데 걔는 걍 근들기가 싫음



class myclass

{

...

}


class A

{

unique_ptr<myclass> au=make_unique<myclass>();

B *b;


void init()

{

b.init(au);

}

}


class B

{

unique_ptr<myclass> bu;


void init(unique_ptr<myclass> p)

{

bu.reset(p.release());

}

}


이런식으로 하면되는건가 아님 move 로 옮기거나