我有惊讶的观察,稳定时钟测量持续时间时差10毫秒分辨率。 我编译的Windows下cygwin。 难过吗?还是我做错了?
auto start = std::chrono::steady_clock::Now(); /*...*/ auto end = std::chrono::steady_clock::Now(); std::cout << std::chrono::duration_cast<std::chrono::microseconds> (end - start).count();
结果是10000,20000等
malloc / calloc从虚拟地址空间返回的内存地址?
由于对象的当前状态,操作无效
图书馆操纵terminal空间?
我怎样才能得到执行我的程序的人的用户名?
std::steady_clock是依赖于实现的,不应该依赖精确的最小持续时间。 它因平台/编译器实现而异。
来自http://cppreference.com :
类std :: chrono :: steady_clock表示单调时钟。 这个时钟的时间点不能随着物理时间的推移而减少。 这个时钟与挂钟时间无关,最适合测量间隔时间。
相关: std :: system_clock和std :: steady_clock之间的区别?
如果你不关心单调性(也就是说,你不在乎是否有人在程序运行的时候更换了挂钟),那么你最好使用std :: high_resolution_clock 。 (后者依然依赖于实现)