私はC++でプログラムを書いていますが、1つはプログラムを1秒間スリープ状態にします。私はプラットフォームに依存しないために次の式を使用しています:エイリアス式に最も適した方法
std::this_thread::sleep_for(std::chrono::duration<int, std::milli>(1000));
この行は長すぎますので、別名を使用したいと思います。これを達成する最良の方法は何ですか?
私はC++でプログラムを書いていますが、1つはプログラムを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