#include <iostream>
#include <stack>
#include <ctime>
std::stack<clock_t> tictoc_stack;
void tic() {
tictoc_stack.push(clock());
}
void toc() {
std::cout << "Time elapsed: "
<< ((double)(clock() - tictoc_stack.top())) / CLOCKS_PER_SEC
<< std::endl;
tictoc_stack.pop();
dif=(clock() - tictoc_stack.top())
}
int main()
{
tic();
for (k=0;k<10;k++)
{
doSomething();
toc();
double t[10];
for(i=0;i<10;i++)
{
t[i]=dif;
std::cout<< "array is" << dif << std::endl;
}
}
return 0;
}
现在,当我调用toc()
函数时,它会给出已用时间。但我希望那个时间在每次迭代时都进入一个数组。这意味着我将有10个不同的经过时间,我想得到这些值并计算平均值,最小值,最大值和标准差。
到目前为止,每次循环时,我都很难将经过的时间存储在数组中。
任何建议和帮助。
答案 0 :(得分:0)
您tic()
一次,这意味着您push
一次。但是你toc()
多次,这意味着你多次pop
。