我迫切需要函数 std::forward_as_tuple
,但仅限于使用 GCC 4.5.0(我知道这对自己来说是一个糟糕的情况,但它会为我解决很多问题,所以请将尖刻的言论保持在最低限度)。 <tuple>
header 似乎不包含函数(它应该包含),所以我的问题是:
- 它是否隐藏在其他标题中? (这以前发生过,但很难确定。)
- 是否可以推出自己的实现方案?即: 在 GCC 4.5.0 中实现的 c++11 部分是否可以实现?如果有人真正知道如何做到这一点,将获得奖励。
最佳答案
实现很简单:
template <typename... Elements>
/*constexpr*/ tuple<Elements&&...>
forward_as_tuple(Elements&&... args) /* noexcept */
{
return tuple<Elements&&...>(std::forward<Elements>(args)...);
}
不知道它出现在哪个 GCC 中。根据this document可变参数模板和右值引用自 gcc 4.3 起可用,因此它应该适用于您的 gcc 4.5(我希望)
关于c++ - G++ 4.5.0 中的 std::forward_as_tuple,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13925904/