如何将vector转换为array呢
#include <iostream>
#include <tuple>
#include <array>
using namespace std;
template <typename V, typename... Types, size_t... I>
constexpr auto do_tuple_to_array(tuple<V, Types...>&& tuple, integer_sequence<size_t, I...>)
{
return array<V, sizeof...(I)>({
static_cast<V>(get<I>(tuple))...,
});
}
template <typename... Types, typename I = make_index_sequence<sizeof...(Types)>>
constexpr auto tuple_to_array(tuple<Types...>& tuple)
{
return do_tuple_to_array(move(tuple), I());
}
int main()
{
tuple<int, char, float, long> t(1, 'a', 3.14, 4000);
auto a = tuple_to_array(t);
for(auto&& i : a)
{
cout