C++ random
时间: 2024-10-21 22:08:56 浏览: 20
C++中的`<random>`库是C++11引入的一个模块,用于生成各种类型的随机数,支持高质量、高效的随机数生成。这个库提供了一系列的工具和类,让你能够创建自定义的随机数序列,满足不同应用场景的需求。
`<random>`库主要包括以下几个部分:
1. `std::mt19937`:这是一个基于Mersenne Twister算法的伪随机数引擎,它是一个非常强大的随机数生成器,常用于基础的随机数生成。
2. `std::uniform_int_distribution`和`std::uniform_real_distribution`:这些是分布函数模板,分别用于生成均匀分布的整数和浮点数。
3. `std::normal_distribution`:用于生成正态分布(常态分布)的随机数。
4. `std::poisson_distribution`和`std::binomial_distribution`等:其他统计分布的实现。
使用`<random>`,你可以创建随机数生成器(Random Engine),然后结合特定的分布函数来生成你需要的随机数据。例如:
```cpp
#include <random>
#include <iostream>
int main() {
std::mt19937 generator; // 创建随机数引擎
std::uniform_int_distribution<int> dist(0, 9); // 定义一个1到10的均匀分布
for (int i = 0; i < 5; ++i) {
int random_num = dist(generator); // 生成一个随机数
std::cout << "Random number: " << random_num << '\n';
}
return 0;
}
```
阅读全文