2016-11-08 58 views
0

我正在用C++編寫程序,並且在一部分中,我希望程序睡眠1秒。我使用以下表達式作爲平臺無關的:別名表達式的最佳方式

std::this_thread::sleep_for(std::chrono::duration<int, std::milli>(1000)); 

此行太長,所以我想爲它使用別名。什麼是實現這一目標的最佳方法?

+0

目前已經有部分[助手類型(http://en.cppreference.com/w/cpp/chrono/duration#Helper_types)的持續時間。你當然也可以用一個短的名字來產生一個函數,它的值是毫秒,然後調用'sleep_for'。 –

+6

將它包裹在一個函數中? 'void sleep(){std :: this_thread :: sleep_for(std :: chrono :: duration (1000));}'你可以添加一個帶有默認參數的參數,如果你想指定時間有時候。 –

+1

還有他們使用的用戶定義的文字。 – DeiDei

回答

4

如果您使用> = C++ 14個有文字計時幫手。它可以寫:

using namespace std::chrono_literals; 
std::this_thread::sleep_for(1s); 
std::this_thread::sleep_for(1min); 
0

正如其他人所建議的,如果您想爲該操作指定一個「別名」,您可以爲其編寫一個函數。 usingstd::chrono的助手可以走很長的路要走,但:

using std::chrono::seconds; 
using std::this_thread::sleep_for; 
⋮ 
sleep_for(seconds(1));