相关疑难解决方法(0)

C++ 11:如何使用<random>设置种子

我正在运用随机库,C++ 11的新手.我写了以下最小程序:

#include <iostream>
#include <random>
using namespace std;
int main() {
    default_random_engine eng;
    uniform_real_distribution<double> urd(0, 1);
    cout << "Uniform [0, 1): " << urd(eng);
}
Run Code Online (Sandbox Code Playgroud)

当我反复运行它时,它每次都给出相同的输出:

>a
Uniform [0, 1): 0.131538
>a
Uniform [0, 1): 0.131538
>a
Uniform [0, 1): 0.131538
Run Code Online (Sandbox Code Playgroud)

我希望程序在每次调用时都设置不同的种子,这样每次都会生成一个不同的随机数.我知道随机提供了一个名为seed_seq的工具,但我发现它的解释(在cplusplus.com上)完全模糊不清:

http://www.cplusplus.com/reference/random/seed_seq/

我很感激有关如何让程序在每次调用时生成新种子的建议:越简单就越好.

我的平台:

random c++11

15
推荐指数
2
解决办法
1万
查看次数

标签 统计

c++11 ×1

random ×1