std::literals::chrono_literals::operator""us

出自cppreference.com
 
 
 
 
在標頭 <chrono> 定義
constexpr std::chrono::microseconds
    operator""us( unsigned long long us );
(1) (C++14 起)
constexpr std::chrono::duration</* 未指明 */, std::micro>
    operator""us( long double us );
(2) (C++14 起)

組成表示微秒的 std::chrono::duration 字面量。

1) 整數字面量,準確返回 std::chrono::microseconds(us)
2) 浮點字面量,返回等價於 std::chrono::microseconds 的浮點時長。

參數

us - 微秒數

返回值

std::chrono::duration 字面量。

可能的實現

constexpr std::chrono::microseconds operator""us(unsigned long long us)
{
    return std::chrono::microseconds(us);
}
constexpr std::chrono::duration<long double, std::micro> operator""us(long double us)
{
    return std::chrono::duration<long double, std::micro>(us);
}

註解

此運算符在命名空間 std::literals::chrono_literals 聲明,其中 literalschrono_literals 都是內聯命名空間。可以通過以下方式取得對此運算符的訪問:

  • using namespace std::literals
  • using namespace std::chrono_literals
  • using namespace std::literals::chrono_literals

另外,在命名空間 std::chrono 中,標準庫提供了 using namespace literals::chrono_literals; 指令,因此程序員在使用 using namespace std::chrono; 取得對日期時間庫中的類的訪問時,對應的字面量運算符也會變為可見。

示例

#include <chrono>
#include <iostream>

int main()
{
    using namespace std::chrono_literals;
    auto d1 = 250us;
    std::chrono::microseconds d2 = 1ms;
    std::cout << d1 << " = " << d1.count() << " 微秒\n"
              << 1ms << " = " << d2.count() << " 微秒\n";
}

輸出:

250us = 250 微秒
1ms = 1000 微秒

參閱

構造新 duration
(std::chrono::duration<Rep,Period> 的公開成員函數) [編輯]