Nat*_*man 12
对此的答案是特定于平台的.操作系统负责跟踪时序,因此,C++语言本身不提供语言结构或内置函数来执行此操作.
但是,以下是与平台相关的计时器的一些资源:
SetTimer:http://msdn.microsoft.com/en-us/library/ms644906(v = vs.85).aspxsetitimer:http://linux.die.net/man/2/setitimer跨平台解决方案可能是boost :: asio :: deadline_timer.
How*_*ant 12
在C++ 11中,您可以通过以下方式移植到最高分辨率计时器:
#include <iostream>
#include <chrono>
#include "chrono_io"
int main()
{
typedef std::chrono::high_resolution_clock Clock;
auto t1 = Clock::now();
auto t2 = Clock::now();
std::cout << t2-t1 << '\n';
}
Run Code Online (Sandbox Code Playgroud)
示例输出:
74 nanoseconds
Run Code Online (Sandbox Code Playgroud)
"chrono_io"是用这些新类型缓解I/O问题的扩展,可在此处免费获取.
还有一个<chrono>可用于boost 的实现(可能仍然在主干上,不确定它是否已被释放).