c++ - CLOCKS_PER_SEC 与 std::clock() 的结果不匹配

标签 c++ xcode gcc time clock

我正在使用以下短程序来测试 std::clock():

#include <ctime>
#include <iostream>

int main()
{   
    std::clock_t Begin = std::clock();

    int Dummy;
    std::cin >> Dummy;

    std::clock_t End = std::clock();

    std::cout << "CLOCKS_PER_SEC: " << CLOCKS_PER_SEC << "\n";
    std::cout << "Begin: " << Begin << "\n";
    std::cout << "End: " << End << "\n";
    std::cout << "Difference: " << (End - Begin) << std::endl;
}

但是,在等待几秒钟输入“虚拟”值后,我得到以下输出:

CLOCKS_PER_SEC: 1000000
Begin: 13504
End: 13604
Difference: 100

这显然没有多大意义。无论我等多久,差异总是在 100 左右。

我错过了什么?有没有我忘记包含的标题?

我正在使用带有 GCC 4.2 的 Xcode。

最佳答案

clock() 计算 CPU 时间,因此如果它等待输入,它不会增加任何时间。

关于c++ - CLOCKS_PER_SEC 与 std::clock() 的结果不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6114392/

相关文章:

xcode - 命令行上的 MacOS 公证无法创建身份验证 session

iphone - 您是否有任何理由不想在每次构建 iOS 应用程序时都使用静态分析器?

c - 如何避免有关类型的 printf 警告

c++ - g++ 6.1 可能的 std::forward 回归 - 错误或预期行为?

objective-c - Xcode - 打开时修改 Storyboard View 的大小和位置

c++ - 这是一个有效的 C 语句吗?

c++ - 在 C++ 中使用 rpcgen

c++ - 游戏 map 对象属性的位域与多态性

c++ - C++ 框架测试应用程序的链接器错误

c++ - Visual C++ 启用控制台