命名空间
变体
操作

operator<<,>>(std::uniform_int_distribution)

来自 cppreference.cn
 
 
 
 
 
template< class CharT, class Traits >

friend std::basic_ostream<CharT,Traits>&
    operator<<( std::basic_ostream<CharT,Traits>& ost,

                const uniform_int_distribution& d );
(1) (C++11 起)
template< class CharT, class Traits >

friend std::basic_istream<CharT,Traits>&
    operator>>( std::basic_istream<CharT,Traits>& ist,

                uniform_int_distribution& d );
(2) (C++11 起)

对伪随机数分布 d 进行流输入和输出操作。

1) 将分布的参数和内部状态的文本表示写入到 ost 中。 ost 的格式化标志和填充字符保持不变。
2)ist 读取数据来恢复分布的参数和内部状态。ist 的格式化标志保持不变。数据必须是使用具有相同 locale、CharTTraits 模板参数的流写入的,否则行为是未定义的。如果遇到错误的输入,则会调用 ist.setstate(std::ios::failbit),这可能会抛出 std::ios_base::failure。在这种情况下,d 保持不变。

这些函数模板对普通的非限定限定查找不可见,只能在 std::uniform_int_distribution<ResultType> 是参数的关联类时通过实参依赖查找找到。

目录

[编辑] 参数

ost - 要插入数据的输出流
ist - 用于提取数据的输入流
d - 伪随机数分布

[编辑] 返回值

1) ost
2) ist

[编辑] 异常

1) 可能会抛出实现定义的异常。
2) 可能会因错误输入而抛出 std::ios_base::failure

[编辑] 缺陷报告

下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。

缺陷报告 应用于 发布时的行为 正确的行为
LWG 3519 C++11 插入和提取运算符的形式未指定
(可以是隐藏的友元函数或类外的函数模板)
指定为隐藏友元