• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

15.5 unique_ptr return

23.01.05 12:59 작성 조회수 152

0

auto doSomething2(std::unique_ptr<Resource> res)

{

res->setAll(10);

return res;

}

...

int main()

{

...

res1 = doSomething2(std::move(res1));

}

이부분에서 res1를 R-value로 전환하여 doSomething2함수의 파라미터인 L-value res에 주소의 소유권을 넘겨준 것 까진 이해했습니다,

그리고 doSometing의 함수가 끝나면 res라는 unique_ptr 변수는 해제되는 거 아닌가요??

해제 된 변수를 return 해서 사용해도 괜찮은건가요??

 

답변 1

답변을 작성해보세요.

0

데자르님의 프로필

데자르

질문자

2023.01.05

아 move 개념이네요. 잘못 이해했습니다. 그런데 doSometing2에서 return 할때 res를 std::move(res)안하고 return해도 상관 없나요?