gpt4 book ai didi

c++ - 如何在 C++ 中使用 matlab tic toc?

转载 作者:太空狗 更新时间:2023-10-29 19:39:34 24 4
gpt4 key购买 nike

在 matlab 中:

tic
do something ...
toc

我尝试拥有这个功能:

#define tic      double tic_t = clock();
#define toc std::cout << (clock() - tic_t)/CLOCKS_PER_SEC \
<< " seconds" << std::endl;

现在我可以用 C++ 做到这一点:

tic
doSomething();
toc

问题是我不能在函数内多次调用它,因为 tic_t 将被定义多次。我想做这样的事情:

tic
doSomething1();
toc
tic
doSomething2();
toc

最佳答案

我会将其实现为堆栈。然后,你可以递归,多次调用它,做任何你想做的事,它不会中断,只要你在每次 tic() 之后调用 toc() .作为奖励,您不必求助于使用宏:

#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();
}

int main(int argc, char *argv[]) {
tic();
doSomething();
toc();
return 0;
}

关于c++ - 如何在 C++ 中使用 matlab tic toc?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13485266/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com