인프런 커뮤니티 질문&답변
std::forward 를 사용하는 wrapper 함수의 매개변수 질문
작성
·
258
1
안녕하세요 홍정모 선생님!
이번 강의를 듣던 중, 다음과 같이 forward 로 L,R ref 를 구분해서 넘겨주는 wrapper 함수를 만들 때,
template <typename T>
void func_wrapper(T&& t)
{
//func(t);// 이대로면 l-ref 로 바껴서 들어간다.
func(std::forward<T>(t));
}
함수의 매개변수가 T&& t로 R-ref 를 받도록 만들었음에도 불구하고 구조체 s를 L-ref 로 넘겨주는 게 에러가 안 나는 이유가 궁금해요..!
MyStruct s;
func_wrapper(s);
func_wrapper(MyStruct());
답변 1
0
홍정모
지식공유자
둘 다 move가 되는지 MyStruct 멤버들의 주소 체크 해보셨나요? 그리고 질문 내용이 슬슬 난해해지고 있는데 제가 직접 실행시켜볼 수 있도록 코드 전체를 올려주시면 좋겠습니다.





