Ildar Asked:2020-04-13 03:19:54 +0800 CST2020-04-13 03:19:54 +0800 CST 2020-04-13 03:19:54 +0800 CST 随机范围变化 772 在构造函数中设置后如何设置新的分布范围,还是我仍然需要创建一个新变量? #include <random> std::default_random_engine generator; std::uniform_int_distribution<int> distribution(1,6); c++ 1 个回答 Voted Best Answer Oh-Ben-Ben 2020-04-13T03:39:04+08:002020-04-13T03:39:04+08:00 您可以使用 param 方法简单地更新它 - https://en.cppreference.com/w/cpp/numeric/random/uniform_int_distribution/param并传入一个带有新分布的新类! dis.param(std::uniform_int_distribution<int>::param_type(7, 10)); 这是一个代码示例: #include <random> #include <iostream> int main() { std::random_device rd; std::mt19937 gen(rd()); std::uniform_int_distribution<> dis(1, 6); for (int n=0; n<10; ++n) std::cout << dis(gen) << ' '; std::cout << '\n'; dis.param(std::uniform_int_distribution<int>::param_type(7, 10)); for (int n=0; n<10; ++n) std::cout << dis(gen) << ' '; std::cout << '\n'; return 0; }
您可以使用 param 方法简单地更新它 - https://en.cppreference.com/w/cpp/numeric/random/uniform_int_distribution/param并传入一个带有新分布的新类!
这是一个代码示例: