考慮的代碼這個例子:的std ::計時乘以持續時間
#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
如果你想要秒數,你需要duration_cast –
@DaveF:只有當你想舍入到整數秒時,因爲'seconds'是一個方便的typedef for'持續時間< some_integer_type>'。 'duration'也應該有一秒的時間。 –
我在VS2013中試過它 - 正常工作 – GabiMe