1
任何类型特征都可以帮助将l值元组类型转换为值元组类型。例如,通过删除引用将std::tuple<int&, double&>
转换为std::tuple<int, double>
。如何将l值元组类型转换为值元组类型?
任何类型特征都可以帮助将l值元组类型转换为值元组类型。例如,通过删除引用将std::tuple<int&, double&>
转换为std::tuple<int, double>
。如何将l值元组类型转换为值元组类型?
对于元组的情况下(基于DYP的评论主编):
template <typename... Ts>
std::tuple<Ts...> remove_tuple_ref(std::tuple<Ts&...> x)
{
return {x};
}
那么你不需要型特质更多...但这一招要求所有元组类型的引用。 – dyp 2014-10-19 02:54:17
@dyp我以前的编辑是不是处理所有的元组类型都是引用? – 0x499602D2 2014-10-19 02:55:43
您的原始版本可能会扩展以处理非参考元组元素。 (正如压缩版本'template std :: tuple ...> remove_tuple_ref(std :: tuple x){return {x};}') –
dyp
2014-10-19 02:57:00