将经过时间数据存储在for循环内的数组中

时间:2013-03-25 03:24:13

标签: c++ arrays time store elapsedtime

#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个不同的经过时间,我想得到这些值并计算平均值,最小值,最大值和标准差。

到目前为止,每次循环时,我都很难将经过的时间存储在数组中。

任何建议和帮助。

1 个答案:

答案 0 :(得分:0)

tic()一次,这意味着您push一次。但是你toc()多次,这意味着你多次pop