C++中生成随机数有两种方法:一是使用传统的rand()函数,需配合srand()设置种子,适用于简单场景但随机性差;二是推荐的<random>头文件,通过随机数引擎如std::mt19937和分布器如std::uniform_int_distribution生成高质量随机数,支持多种分布,适合复杂项目。

在C++中生成随机数,常用的方法有两种:使用传统的 rand() 函数和现代C++推荐的 <random> 头文件。下面分别介绍它们的用法和注意事项。
这是C语言沿用下来的方式,在C++中仍然可用,但不推荐用于高质量随机场景。
示例代码:
#include <iostream>
#include <cstdlib>
#include <ctime>
int main() {
srand(time(0)); // 以当前时间作为种子
int random_num = rand(); // 生成随机数
std::cout << "随机数:" << random_num << std::endl;
return 0;
}
如果要生成指定范围内的随机数,比如 [min, max],可以这样写:
立即学习“C++免费学习笔记(深入)”;
int random_in_range = min + rand() % (max - min + 1);
C++11 引入了更强大、更灵活的随机数工具,位于 <random> 头文件中。它能生成高质量、分布均匀的随机数。
示例代码(生成1到100之间的随机整数):
#include <iostream>
#include <random>
int main() {
std::random_device rd; // 真实随机种子
std::mt19937 gen(rd()); // 随机数引擎
std::uniform_int_distribution<int> dis(1, 100); // 分布范围
int random_num = dis(gen);
std::cout << "随机数:" << random_num << std::endl;
return 0;
}
也可以生成浮点数:
std::uniform_real_distribution<double> dis(0.0, 1.0);
基本上就这些。日常小项目可以用 rand() 快速实现,正式开发建议使用 <random>。
以上就是c++++如何生成随机数_c++随机数生成方法的详细内容,更多请关注php中文网其它相关文章!
c++怎么学习?c++怎么入门?c++在哪学?c++怎么学才快?不用担心,这里为大家提供了c++速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号