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