考虑这个代码示例:
#include <chrono>
#include <iostream>
int main ( )
{
using namespace std::chrono;
system_clock::time_point s = system_clock::now();
for (int i = 0; i < 1000000; ++i)
std::cout << duration_cast<duration<double>>(system_clock::now() - s).count() << "\n";
}
我希望这能以秒为单位打印经过的时间。但它实际上以数千秒为单位打印时间(预期结果乘以 0.001)。难道我做错了什么?
编辑
因为seconds
等价于duration<some-int-type>
,duration_cast<seconds>
所以给出相同的结果。
我用 gcc-4.7.3-r1