C++生成随机数

C++生成随机数

C++生成随机数的流程至少需要两个对象:

  • 随机引擎,一般使用std::default_random_engine
  • 随机数分布,可选项又均匀分布、二项分布等,用来控制随机结果的分布

对于随机引擎来说,需要接收一个种子,可以传入任意整数,一般可以是当前的时间等不固定的整数。

C++也提供了一个std::random_device类,这个就类似C中的rand获得一个简单的随机数,可以将该对象的值传递给随机引擎。

示例代码:

int randomValue()
{
    std::random_device rd;
    std::default_random_engine eng(rd());
    std::uniform_int_distribution<size_t> dis(0, 100);
    int res = dis(eng);
    return res;
}

你可能感兴趣的:(C++,c++,随机数,random,算法,数据结构)