名稱空間
變體
操作

std::chrono::operator<< (std::chrono::duration)

來自 cppreference.com
< cpp‎ | chrono‎ | duration
 
 
 
 
定義於標頭檔案 <chrono>
template<

    class CharT,
    class Traits,
    class Rep,
    class Period
> std::basic_ostream<CharT, Traits>&
    operator<<( std::basic_ostream<CharT, Traits>& os,

                const std::chrono::duration<Rep, Period>& d );
(C++20 起)

d 的文字表示插入到 os 中。

其行為如同以下實現:

std::basic_ostringstream<CharT, Traits> s;
s.flags(os.flags());
s.imbue(os.getloc());
s.precision(os.precision());
s << d.count() << units_suffix; // see below
return os << s.str();

換句話說,流標誌、語言環境和精度由流決定,但任何填充都使用整個輸出字串決定。

units_suffix 根據 Period::type 按下表確定。

Period::type 字尾
std::atto as
std::femto fs
std::pico ps
std::nano ns
std::micro µs (U+00B5)us,具體使用哪一個由實現定義。
std::milli ms
std::centi cs
std::deci ds
std::ratio<1> s
std::deca das
std::hecto hs
std::kilo ks
std::mega Ms
std::giga Gs
std::tera Ts
std::peta Ps
std::exa Es
std::ratio<60> min
std::ratio<3600> h
std::ratio<86400> d
以上都不是,且 Period::type::den == 1 [num]s
以上都不是 [num/den]s

對於表的最後兩行,字尾中的 numden 分別是 Period::type::numPeriod::type::den 格式化為不帶前導零的十進位制數字。

[編輯] 返回值

對流的引用,即 os

[編輯] 示例

此示例顯示了在給定持續時間時 std::chrono::operator<< 的輸出

#include <chrono>
#include <iostream>
using namespace std::chrono_literals;
 
int main()
{
    constexpr auto duration = 123ms;
    std::cout << duration << '\n';
}

輸出

123ms

[編輯] 參閱

(C++20)
將引數的格式化表示儲存在新字串中
(函式模板) [編輯]
duration 的格式化支援
(類模板特化) [編輯]
對字串執行流輸入和輸出
(函式模板) [編輯]
(C++11)
將整數或浮點值轉換為 string
(函式) [編輯]
將整數或浮點值轉換為 wstring
(函式) [編輯]