看着std::forward,
template< class T >
constexpr T&& forward( typename std::remove_reference<T>::type& t ) noexcept;
template< class T >
constexpr T&& forward( typename std::remove_reference<T>::type&& t ) noexcept;这两个函数都返回T&&,如果我错了,它将collapses返回给
T&是lvalue引用,则为TT&&如果T是rvalue引用,或者T不是引用对于可能是引用的任意类型的T,引用折叠是否总是导致forward<T>执行与forward<T&&>相同的操作?
如果是,是否有理由使用forward<T&&>?
发布于 2018-08-02 22:12:21
引用折叠总是导致
forward<T>和forward<T&&>一样吗?
是。
有什么理由使用
forward<T&&>吗?
不是的。
请注意,这是假定视图中唯一的forward是您在std::中显示的两个重载。
https://stackoverflow.com/questions/51662448
复制相似问题