c++的随机数生成器
时间: 2023-12-06 22:36:35 浏览: 96
c++随机数产生器
5星 · 资源好评率100%
C++中的随机数生成器主要使用random库中的两个类:随机数引擎类和随机数分布类。
随机数引擎类是用来生成随机数的,调用这个类会生成一个调用运算符。该运算符不接受任何参数,并返回一个随机的unsigned整数。常与随机数分布类共同使用,很少单独使用。
随机数分布类需要以随机数引擎作为参数(即必须先定义随机数引擎类)。常用方法有:
- uniform_int_distribution:指定范围的随机非负数
- uniform_real_distribution:指定范围的随机实数
- bernoulli_distribution:指定概率的随机布尔值
以下是一个生成随机数的例子:
```c++
#include <iostream>
#include <random>
int main() {
// 生成一个随机数引擎
std::default_random_engine e;
// 生成一个指定范围的随机数分布
std::uniform_int_distribution<int> u(0, 9);
// 生成10个随机数
for (int i = 0; i < 10; i++) {
std::cout << u(e) << std::endl;
}
return 0;
}
```
以上代码中,我们首先生成了一个随机数引擎`std::default_random_engine e`,然后生成了一个指定范围的随机数分布`std::uniform_int_distribution<int> u(0, 9)`,最后使用循环生成了10个随机数。
阅读全文