5 分的 10 个问题都需要在规定的时间内回答。所以应该显示每题消耗的时间n剩余时间。有人可以帮忙吗?
一个可移植的 C++ 解决方案是使用chrono::steady_clock来测量时间。这在 C++11 的头文件中可用<chrono>
,但很可能可用于 TR1 中的较旧编译器<tr1/chrono>
or 升压计时.
稳定时钟总是以“尽可能一致”的速率前进,这是多任务多线程平台上的一个重要考虑因素。稳定时钟也独立于任何类型的“挂钟”,例如系统时钟(可以随时任意操纵)。
(注:如果steady_clock
不在你的实现中,寻找monotonic_clock
.)
The <chrono>
类型使用起来有点繁琐,所以这里有一段示例代码,它返回一个稳定的时间戳(或者更确切地说,来自您喜欢的任何时钟的时间戳,例如high_resolution_clock
):
template <typename Clock>
long long int clockTick(int multiple = 1000)
{
typedef typename Clock::period period;
return (Clock::now().time_since_epoch().count() * period::num * multiple) / period::den;
}
typedef std::chrono::monotonic_clock myclock; // old
typedef std::chrono::steady_clock yourclock; // C++11
Usage:
long long int timestamp_ms = clockTick<myclock>(); // milliseconds by default
long long int timestamp_s = clockTick<yourclock>(1); // seconds
long long int timestamp_us = clockTick<myclock>(1000000); // microseconds
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)