名稱空間
變體
操作

std::literals::chrono_literals::operator""h

來自 cppreference.com
< cpp‎ | chrono
 
 
 
 
定義於標頭檔案 <chrono>
constexpr std::chrono::hours
    operator""h( unsigned long long hrs );
(1) (C++14 起)
constexpr std::chrono::duration</*未指定*/, std::ratio<3600,1>>
    operator""h( long double hrs );
(2) (C++14 起)

構成表示小時的 std::chrono::duration 字面量。

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

目錄

[編輯] 引數

hrs - 小時數

[編輯] 返回值

std::chrono::duration 字面量。

[編輯] 可能的實現

constexpr std::chrono::hours operator""h(unsigned long long h)
{
    return std::chrono::hours(h);
}
 
constexpr std::chrono::duration<long double, ratio<3600,1>> operator""h(long double h)
{
    return std::chrono::duration<long double, std::ratio<3600,1>>(h);
}

[編輯] 注意

此運算子在名稱空間 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; 來訪問 chrono 庫中的類,那麼相應的字面量運算子也會變得可見。

[編輯] 示例

#include <chrono>
#include <iostream>
 
int main()
{
    using namespace std::chrono_literals;
    auto day = 24h;
    auto halfhour = 0.5h;
    std::cout << "one day is " << day.count() << " hours (" << day << ")\n"
              << "half an hour is " << halfhour.count() << " hours ("
              << halfhour << ")\n";
}

輸出

one day is 24 hours (24h)
half an hour is 0.5 hours (0.5h)

[編輯] 參閱

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