gpt4 book ai didi

c++ - forward 和 forward 一样吗?

转载 作者:IT老高 更新时间:2023-10-28 23:15:29 30 4
gpt4 key购买 nike

the documentation for 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&如果 T是一个左值引用
  • T&&如果 T是一个右值引用,或者如果 T不是引用

对于任意类型T这可能是一个引用,引用折叠是否总是导致forward<T>forward<T&&> 相同?

如果是,有什么理由使用forward<T&&> ?

最佳答案

Does reference collapsing always cause forward<T> to do the same as forward<T&&>?

是的。

[I]s there any reason to use forward<T&&>?

没有。

请注意,这是假设唯一的 forward s in view 是您在 std:: 中显示的两个重载.

关于c++ - forward<T> 和 forward<T&&> 一样吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51662448/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com