0
我正在用C++編寫程序,並且在一部分中,我希望程序睡眠1秒。我使用以下表達式作爲平臺無關的:別名表達式的最佳方式
std::this_thread::sleep_for(std::chrono::duration<int, std::milli>(1000));
此行太長,所以我想爲它使用別名。什麼是實現這一目標的最佳方法?
我正在用C++編寫程序,並且在一部分中,我希望程序睡眠1秒。我使用以下表達式作爲平臺無關的:別名表達式的最佳方式
std::this_thread::sleep_for(std::chrono::duration<int, std::milli>(1000));
此行太長,所以我想爲它使用別名。什麼是實現這一目標的最佳方法?
如果您使用> = C++ 14個有文字計時幫手。它可以寫:
using namespace std::chrono_literals;
std::this_thread::sleep_for(1s);
std::this_thread::sleep_for(1min);
正如其他人所建議的,如果您想爲該操作指定一個「別名」,您可以爲其編寫一個函數。 using
和std::chrono
的助手可以走很長的路要走,但:
using std::chrono::seconds;
using std::this_thread::sleep_for;
⋮
sleep_for(seconds(1));
目前已經有部分[助手類型(http://en.cppreference.com/w/cpp/chrono/duration#Helper_types)的持續時間。你當然也可以用一個短的名字來產生一個函數,它的值是毫秒,然後調用'sleep_for'。 –
將它包裹在一個函數中? 'void sleep(){std :: this_thread :: sleep_for(std :: chrono :: duration(1000));}'你可以添加一個帶有默認參數的參數,如果你想指定時間有時候。 –
還有他們使用的用戶定義的文字。 – DeiDei