最終更新日時:
が更新

履歴 編集

typedef
<chrono>

std::chrono::microseconds(C++11)

namespace std {
namespace chrono {
  typedef duration<最低でも55ビットを持つ符号付き整数型, micro> microseconds;
}}

概要

マイクロ秒単位を表現するdurationの別名

#include <iostream>
#include <chrono>

int main()
{
  std::chrono::microseconds microsec1(30);
  std::chrono::microseconds microsec2(20);

  // マイクロ秒同士の演算
  // 30マイクロ秒 + 20マイクロ秒 = 50マイクロ秒
  std::chrono::microseconds result = microsec1 + microsec2;
  std::cout << result.count() << std::endl;

  // マイクロ秒からナノ秒に変換
  // 50マイクロ秒 = 50000ナノ秒
  std::chrono::nanoseconds ns = result;
  std::cout << ns.count() << std::endl;

  // マイクロ秒からミリ秒に変換
  // 1005マイクロ秒は1.005ミリ秒だが、整数表現のマイクロ秒に変換する際に5マイクロ秒が
  // 切り捨てられるため、1ミリ秒となる。
  // 切り捨てが発生する場合には、duration_cast()関数を使用する。
  std::chrono::microseconds microsec3(1005);
  std::chrono::milliseconds ms = std::chrono::duration_cast<std::chrono::milliseconds>(microsec3);
  std::cout << ms.count() << std::endl;
}

出力

50
50000
1

バージョン

言語

  • C++11

処理系

関連項目