记录运行一段代码需要多少时间,并存储到C++数组中

Recording how much time is required to run a portion of code and store it to an array in C++

需要帮助记录 运行 C++ 代码的几个部分所花费的时间。我需要将这些时间存储到一个数组中以备后用。在 MATLAB 中,我会做这样的事情;

for i=1 : n
    tic
    this is some stuff I want to run();
    array[1,i] = toc;
   
    tic
    this is some other stuff I want to run();
    array[2,i] = toc;
end

以上将 运行 2 个不同的事物 n 次,并将单独 运行 这些事物所花费的时间存储到二维数组中。

C++ 中是否有等效的东西?

您可以使用 std::chrono::steady_clock::now() 获取当前时间(在您的示例中为 tic)。

您可以在 this answer 中找到更多详细信息。

对于二维数组,一个简单的 std::array<T, n> where T is some kind of std::tuple 应该可以解决问题。