我写了这段代码,我想访问序列中的第 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
参数包有很多元素。