은 C++에서 템플릿 메타 프로그래밍, 나는 종종 다음과 같은 무언가로 실행하면 : 나는 반환 형식에 std::decay
같은 것을 사용한다 알고차이는 remove_reference
template <typename T>
S<T> make_wrapper(T&& t) { return S<T>(std::forward<T>(t)); }
하지만, 왜 std::remove_reference
도 작동하지 않을까요? 여기의 차이점은 무엇입니까? std::remove_cvref
은 어떨까요?
무엇이'T '인지에 따라 [부식은 더 많이 할 수 있습니다] (http://en.cppreference.com/w/cpp/types/decay). –
그들에 대해 읽으려고 했습니까? 예를 들어 [이'std :: decay' 참조] (http://en.cppreference.com/w/cpp/types/decay)와 [이'std :: remove_reference' 참조] (http : //en.cppreference .com/w/cpp/types/remove_reference). –