如何访问整数序列



我写了这段代码,我想访问序列中的第 i 个元素,该怎么做?

unsigned int power_helper( unsigned i)
{
std::integer_sequence a = std::make_integer_sequence<unsigned, 2500>() ;
}

谢谢

这并不难:

template <typename T, T ...I>
constexpr T IntegerSequenceAt(std::integer_sequence<T, I...>, std::size_t index)
{
return std::array<T, sizeof...(I)>{I...}[index];
}
int main()
{
// Prints 1.
std::cout << IntegerSequenceAt(std::make_index_sequence<3>(), 1) << 'n';
}

但我有一种感觉,你在这里不需要integer_sequence。首先,在make_integer_sequence返回的序列中,第 i 个元素等于 i。2500参数包有很多元素。

最新更新