最終更新日時: 2025年07月12日 02時16分44秒 (JST)
Koichi Murase が更新

履歴 編集

function
<chrono>

# std::chrono_literals::msリテラル(C++14)

    namespace std {

    inline namespace literals {
    inline namespace chrono_literals {
      constexpr chrono::milliseconds
        operator "" ms(unsigned long long x);        // (1)

      constexpr chrono::duration<unspecified, milli>
        operator "" ms(long double x);               // (2)
    }}

    namespace chrono {
    using namespace literals::chrono_literals;
    } // namespace chrono

    }  // namespace std

## 概要

ミリ秒単位の値を表す`duration`クラスのリテラル。

- (1) : 整数型のミリ秒リテラル
- (2) : 浮動小数点型のミリ秒リテラル

## 戻り値

- (1) : `chrono::milliseconds(x)`
- (2) : `chrono::duration<unspecified, milli>(x)`

## 例

    #include <iostream>
    #include <chrono>

    int main()
    {
      using namespace std::literals::chrono_literals;

      auto milliseconds_i = 3ms;   // 整数型の3ミリ秒
      auto milliseconds_f = 3.1ms; // 浮動小数点型の3.1ミリ秒

      std::cout << milliseconds_i.count() << std::endl;
      std::cout << milliseconds_f.count() << std::endl;
    }

### 出力

    3
    3.1

## バージョン

### 言語

- C++14

### 処理系

- Clang: 3.4 ✅
- GCC: 4.9.0 ✅
- ICC: ??
- Visual C++: 2015 ✅

## 参照

- N3642 User-defined Literals for Standard Library Types (part 1 - version 4)
- LWG Issue 2278. User-defined literals for Standard Library types