std::chrono:: operator<< (std::chrono::duration)
|
定义于头文件
<chrono>
|
||
|
template
<
class
CharT,
|
(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; // 见下文 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
|
对于表格的最后两行,后缀中的
num
和
den
分别是
Period::type::num
和
Period::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
(函数) |
|
(C++11)
|
将整型或浮点型数值转换为
wstring
(函数) |