c++中的随机数函数
时间: 2024-11-03 11:08:32 浏览: 34
在 C++ 中,生成随机数通常通过 `<cstdlib>` 或 `<random>` 这两个库提供的函数来完成。`<cstdlib>` 提供了一些基础的随机数函数,如 `rand()` 和 `srand()`, 但是它们的生成质量不高,适用于简单场景。
如果你需要更高质量、更可控的随机数,推荐使用 `<random>` 库,它提供了一个完整的随机数生成器 API。以下是一个基本的例子:
```cpp
#include <iostream>
#include <random>
// 初始化随机数生成器
std::mt19937 rng(std::chrono::system_clock::now().time_since_epoch().count());
// 定义随机数范围
int min = 0;
int max = 100;
// 使用 uniform_int_distribution 来生成指定范围内的整数
std::uniform_int_distribution<int> dist(min, max);
int main() {
int random_number = dist(rng);
std::cout << "Random number between " << min << " and " << max << ": " << random_number << "\n";
return 0;
}
```
在这个例子中,我们使用了 Mersenne Twister(`std::mt19937`)作为随机数引擎,并通过 `std::uniform_int_distribution` 来确定随机数的分布。
阅读全文