operator<<,>>(std::mersenne_twister_engine)
来自cppreference.com
< cpp | numeric | random | mersenne twister engine
template< class CharT, class Traits > friend std::basic_ostream<CharT,Traits>& |
(1) | (C++11 起) |
template< class CharT, class Traits > friend std::basic_istream<CharT,Traits>& |
(2) | (C++11 起) |
1) 序列化伪随机数引擎
e
的内部状态为一或多个空格分隔的十进制数序列,并插入之到流 ost
。填充字符和格式化标志被忽略且无效。2) 通过先前使用相同
locale
的本地环境、相同的 CharT
和 Traits
的流对 operator<<
进行调用创建的序列化表示,还原伪随机数引擎 e
的内部状态。若不能反序列化输入,则保留 e
不改变并在 ist
上引发 failbit
。这些函数模板对通常无限定或有限定查找不可见,而只能在 std::mersenne_twister_engine<UIntType,w,n,m,r,a,u,d,s,b,t,c,l,f>
为参数的关联类时由实参依赖查找找到。
若用 os << x 写的文本表示,用 is >> y 还原到同类型的同一或不同对象 y
,则 x==y 。
以设置 os.fmtflags 为 ios_base::dec|ios_base::left 并设置填充字符为空格符写文本表示。引擎内部状态的文本表示是一组空格分隔的十进制数。
参数
ost | - | 要插入数据的输出流 |
ist | - | 要提取数据的输入流 |
e | - | 伪随机数引擎 |
返回值
1)
ost
2)
ist
复杂度
本节未完成 |
异常
1) 可能会抛出由实现定义的异常。
缺陷报告
下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。
缺陷报告 | 应用于 | 出版时的行为 | 正确行为 |
---|---|---|---|
LWG 3519 | C++11 | 插入与提取运算符的形式未指定 | 指定为隐藏友元 |