我有一個關於劃分元組的問題,正如標題所述。如何在C++中劃分元組
事實上,我可以使用std::index_sequence
,但代碼看起來很醜。
是否有一個完成此任務的優雅方式?
這裏有一些代碼來展示我的意思。
#include<tuple>
using namespace std;
template<typename THead, typename ...TTails>
void foo(tuple<THead, TTails...> tpl)
{
tuple<THead> tpl_h { get<0>(tpl) };
tuple<TTails...> tpl_t { /* an elegent way? */ }
do_sth(tpl_h, tpl_t);
}
int main()
{
foo(make_tuple(1, 2.0f, 'c'));
return 0;
}
以前有人問過類似的問題:https://stackoverflow.com/questions/8569567/get-part-of-stdtuple但是ecatmur的C + 17答案看起來更加簡短。 – Swift
@Swift謝謝你,我會去看看。 – WangChu