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

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

任何建议和帮助。

4

1 回答 1

0

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

于 2013-03-25T03:36:49.170 回答