LoginSignup
6
6

More than 5 years have passed since last update.

c++11 > k(キロ)やm(million)の定義 > 45_k / 1_m > constexpr long long operator "" _k(long long l) { return l * 1000; } // 時間についてはstd::chrono::millisecondsなどがある

Last updated at Posted at 2015-08-06

http://qiita.com/hashimotoryoh/items/609ed5bf4dd4cd90178a
のやりとりを見ていて、1e6と1000000の違いが気になった。

http://stackoverflow.com/questions/24389678/is-scientific-notation-safe-for-integer-constants-in-c
を見つけて、その中で単位のつけかたが今後使えそうと思ったのでメモ。

definition
constexpr long long operator "" _k(long long l) {
    return l * 1000;
}

constexpr long long operator "" _m(long long l) {
    return l * 1000 * 1000;
}
usage
long long delay = 1_m;
long long wait = 45_k;

constexprはC++11から導入されたようだ。
http://en.cppreference.com/w/cpp/language/constexpr



(2015/08/11追記)

時間に関するリテラル(std::chrono::millisecondsなど)があるとのこと、以下にて @egtra さん、@h2suzukiさんに教えていただいた。感謝。


6
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6