使用c++标准库中时钟类来实现。 使用模板类: chrono::duration<int,ratio<1,2>(20)>前面的int限定了延时单位是一个整数。只要1小时,2小时,但是没有1.5小时。ratio<1,2>代表一个分数。后面的2代表分母,前面的1为分子。如果我希望其延时10s。只需ratio<1,2>(20),即0.5×20=10秒。那么如下:ratio<60,1>(5)就代表了延时5分钟。
代码如下:
其中第15行代码:
auto start = chrono::high_resolution_clock::now();
表示返回的是系统当前的高精度时间。
第18行同理所示。
第19行是开始和结束的时间差,表示运行的持续时间。其中代码前面的:
chrono::duration<double,ratio<1,1>>
起到了强制类型转换的作用,其是一个模板类。意思见第一段。