面试题答案
一键面试#include <iostream>
#include <random>
int generateRandomInt(int a, int b) {
static std::random_device rd;
static std::mt19937 gen(rd());
std::uniform_int_distribution<> dis(a, b);
return dis(gen);
}
使用标准库随机数相关函数的优点:
- 高质量随机数:
std::random_device
通常基于硬件熵源,能提供高质量的随机数种子,std::mt19937
是一种高效的伪随机数生成器,具有良好的统计特性,生成的随机数序列更均匀、更难以预测。 - 可移植性:标准库的随机数函数在不同平台上都有统一的实现,编写的代码可以在不同的编译器和操作系统上使用,无需针对特定平台进行调整。
- 灵活性:通过不同的分布类(如
std::uniform_int_distribution
),可以方便地生成符合各种分布要求的随机数,满足不同场景的需求。