如何使用std::uniform_int_distribution<T>::param()?
How to use std::uniform_int_distribution<T>::param()?
我希望能够在 std::uniform_int_distribution<T>
对象创建后重置它的下限和上限,而且似乎 class 中的 param
函数允许这个功能。参见 https://en.cppreference.com/w/cpp/numeric/random/uniform_int_distribution/param (2)。
但我不清楚如何构建它接收的这个 param_type
对象。有人可以提供示例吗?
从文档上看不是很清楚,但这里是:
auto d = std::uniform_int_distribution<int>{1, 10};
d.param(std::uniform_int_distribution<int>::param_type{11, 24});
您可以通过以下方式在文档中找到此信息:
Member types
param_type
: the type of the parameter set, see
RandomNumberDistribution.
P
, the type named by D::param_type
, which
- [...]
- has a constructor taking identical arguments as each of the constructors of
D
that take arguments corresponding to the
distribution parameters.
所以基本上 std::uniform_int_distribution<int>::param_type
有一个构造函数采用与 std::uniform_int_distribution<int>
相同的参数。
我希望能够在 std::uniform_int_distribution<T>
对象创建后重置它的下限和上限,而且似乎 class 中的 param
函数允许这个功能。参见 https://en.cppreference.com/w/cpp/numeric/random/uniform_int_distribution/param (2)。
但我不清楚如何构建它接收的这个 param_type
对象。有人可以提供示例吗?
从文档上看不是很清楚,但这里是:
auto d = std::uniform_int_distribution<int>{1, 10};
d.param(std::uniform_int_distribution<int>::param_type{11, 24});
您可以通过以下方式在文档中找到此信息:
Member types
param_type
: the type of the parameter set, see RandomNumberDistribution.
P
, the type named byD::param_type
, which
- [...]
- has a constructor taking identical arguments as each of the constructors of
D
that take arguments corresponding to the distribution parameters.
所以基本上 std::uniform_int_distribution<int>::param_type
有一个构造函数采用与 std::uniform_int_distribution<int>
相同的参数。