인프런 커뮤니티 질문&답변

데자르님의 프로필 이미지

작성한 질문수

홍정모의 따라하며 배우는 C++

15.5 unique_ptr return

23.01.05 12:59 작성

·

199

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. 13:04

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