<random>

公有成员函数 (public member function)
<random>

std::linear_congruential_engine::operator()

result_type operator()();
生成随机数
Returns a new random number. (返回一个新的随机数。)

该函数通过转移算法前进内部状态一次,修改状态值。



其中 x 是当前状态值,ac 是它们各自的类模板参数,m 是其各自的类模板参数(如果大于 0),或者numeric_limits<UIntType>::max()1否则。

参数



返回值

A new random number. (一个新的随机数。)
结果类型 (result_type)是一个成员类型,定义为第一个类模板参数的别名 (无符号整数类型 (UIntType)).

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// linear_congruential_engine::operator()
#include <iostream>
#include <chrono>
#include <random>

int main ()
{
  // obtain a seed from the system clock:
  unsigned seed = std::chrono::system_clock::now().time_since_epoch().count();

  std::minstd_rand0 generator (seed);  // minstd_rand0 is a standard linear_congruential_engine
  std::cout << "Random value: " << generator() << std::endl;

  return 0;
}

可能的输出
Random value: 642968455


复杂度

常量。

另见