我想知道如何访问std::integer_sequence
的第n个值。例如给定类型
using foo = std::integer_sequence<int, 3, 1, 4>;
我想要类似的东西
auto i = get<foo, 2>(); // i = 4
标准库中是否可以执行此操作?如果没有,如果我想让它在C ++ 14(而不是C ++ 17)中工作,是否需要采用迭代解决方案?
答案 0 :(得分:13)
据我所知,没有这种内置方法,但是您可以在几行简洁的代码中实现它本身,而无需进行任何迭代:
const _performance = require('perf_hooks').performance;
someFunction= ()=>{
_performance.mark('mark A')
// Do something
const a= Array(100000)
var boo =true;
a.forEach(el=>{
boo = ! boo
})
_performance.mark('mark B')
_performance.measure('total','mark B','mark A');
var measurments = _performance.getEntriesByType('measure');
measurments.forEach(measurment =>{
console.log(measurment.name + ' ' + measurment.duration)
} )
}
someFunction();
在此处查看其工作方式:https://godbolt.org/z/yAfMeg
可以使用更多代码将参数提升为模板参数(以匹配您的示例)。