std::srand
来自cppreference.com
数值库
伪随机数生成
| 均匀随机位生成器 | ||||
|
(C++20)
|
||||
| 引擎及引擎适配器 | ||||
|
(C++11)
|
||||
|
(C++11)
|
||||
|
(C++11)
|
||||
|
(C++11)
|
||||
|
(C++11)
|
||||
|
(C++11)
|
||||
| 非确定性生成器 | ||||
|
(C++11)
|
||||
| 分布 | ||||
| 均匀分布 | ||||
|
(C++11)
|
||||
|
(C++11)
|
||||
|
(C++11)
|
||||
| 伯努利分布 | ||||
|
(C++11)
|
||||
|
(C++11)
|
||||
|
(C++11)
|
||||
|
(C++11)
|
||||
| 泊松分布 | ||||
|
(C++11)
|
||||
|
(C++11)
|
||||
|
(C++11)
|
||||
|
(C++11)
|
||||
|
(C++11)
|
||||
| 正态分布 | ||||
|
(C++11)
|
||||
|
(C++11)
|
||||
|
(C++11)
|
||||
|
(C++11)
|
||||
|
(C++11)
|
||||
|
(C++11)
|
||||
| 采样分布 | ||||
|
(C++11)
|
||||
|
(C++11)
|
||||
|
(C++11)
|
||||
| 种子序列 | ||||
|
(C++11)
|
||||
| C 库 | ||||
|
srand
|
||||
|
在标头
<cstdlib>
定义
|
||
|
void srand( unsigned seed );
|
||
以值 seed 播种 std::rand() 所用的随机数生成器。
若在任何到 srand() 的调用前使用 rand() ,则 rand() 表现为如同它被以
srand(1) 播种。
每次以同一 seed 播种 rand() 时,它必须产生相同的值数列。
srand() 不保证为线程安全。
参数
| seed | - | 种子值 |
返回值
(无)
注意
通常来说,应该只播种一次随机数生成器,在程序开始出,任何到 rand() 的调用前。不应重复播种,或每次冀愿生成新一批随机数时重播种。
标准实践是使用以 time(0) 为种子调用的结果。然而 time() 返回 time_t 值,而不保证
time_t 是整数类型。尽管实践中,主流实现都定义 time_t 为整数类型,且此亦为 POSIX 所要求。
示例
运行此代码
可能的输出:
Random value on [0 2147483647]: 1373858591
参阅
| 生成伪随机数 (函数) |
|
| std::rand 生成的最大可能值 (宏常量) |
|
| 重播种单个线程的随机引擎 (函数) |