我使用外部函數庫中的函數,其接口如下所示:void f(int timeout);
。 其中timeout
以毫秒爲單位。爲了使我的代碼更具可讀性,我想在這樣的形式使用chrono
:C++ 11使用chrono作爲語法糖
f(std::chrono::milliseconds(10).count());
是有可能,
std::chrono::milliseconds(10).count() != 10
?是什麼防止現代編譯器(clang,gcc,VC++)將
f(std::chrono::milliseconds(10).count())
轉換爲f(10)
的「水下岩石」?
單獨計算持續時間是沒有意義的,只有在您將其與另一個持續時間進行比較時纔有意義。 –
你也應該考慮使用'運算符'「ms'。而不是寫'std :: chrono :: milliseconds(10)'只寫'10ms'。 – UniversE
semantic sugar lol – erip