std::UniformRandomBitGenerator

来自cppreference.com
< cpp‎ | numeric‎ | random
 
 
数值库
常用数学函数
特殊数学函数 (C++17)
浮点环境 (C++11)
复数
数值数组
伪随机数生成
编译时有理数算术 (C++11)
数值算法
(C++17)
(C++17)
插值
(C++20)
(C++20)
通用数值运算
(C++11)
位操作
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
 
 
定义于头文件 <random>
template <class G>

concept UniformRandomBitGenerator =
  std::Invocable<G&> &&
  std::UnsignedIntegral<std::invoke_result_t<G&>> &&
  requires {
    { G::min() } -> std::Same<std::invoke_result_t<G&>>;
    { G::max() } -> std::Same<std::invoke_result_t<G&>>;

  };
(C++20 起)

概念 UniformRandomBitGenerator <G> 指定 G 为均匀随机位生成器的类型,即 G 类型对象是函数对象,返回无符号整数值,并使得可能结果范围中的每个值(理论上)拥有相等的被返回概率。

UniformRandomBitGenerator<G> 仅若符合下列条件才得到满足。给定 G 类型对象 g

  • G::min()G::max() 为常量表达式;
  • G::min() < G::max()
  • g() 在范围 [G::min(), G::max()]
  • g() 拥有均摊常数复杂度