作者:mobiledu2502853587 | 来源:互联网 | 2022-11-30 12:13
我想知道如何访问一个第n个值std::integer_sequence
.例如给定一种类型
using foo = std::integer_sequence;
我想有类似的东西
auto i = get(); // i = 4
标准库中有什么东西可以做到吗?如果不是,如果我想在C++ 14(而不是C++ 17)中使用它,我是否需要求助于迭代解决方案?
1> Dan M...:
据我所知,没有这样的内置方法,但你可以在一些简洁的行中实现它,而不需要任何迭代:
template
constexpr T get(std::integer_sequence, std::size_t i) {
constexpr T arr[] = {Ints...};
return arr[i];
}
了解它的工作原理:https://godbolt.org/z/yAfMeg
可以将参数提升为模板参数(以匹配您的示例)和更多代码.