名稱空間
變體
操作

std::uniform_random_bit_generator

來自 cppreference.com
< cpp‎ | 數值‎ | 隨機
 
 
 
 
定義於標頭檔案 <random>
template< class G >

concept uniform_random_bit_generator =
    std::invocable<G&> && std::unsigned_integral<std::invoke_result_t<G&>> &&
    requires {
        { G::min() } -> std::same_as<std::invoke_result_t<G&>>;
        { G::max() } -> std::same_as<std::invoke_result_t<G&>>;
        requires std::bool_constant<(G::min() < G::max())>::value;

    };
(C++20 起)

概念 uniform_random_bit_generator<G> 指定了 G 是一種均勻隨機位元生成器型別,也就是說,型別 G 的物件是一個函式物件,它返回無符號整數值,使得在可能結果範圍內的每個值都具有(理想上)相等的返回機率。

[編輯] 語義要求

uniform_random_bit_generator<G> 僅在給定型別 G 的任意物件 g 時才成立,如果:

  • g() 位於 [G::min()G::max()] 範圍內,
  • g() 具有均攤常數複雜度。

[編輯] 注意

為了滿足要求 std::bool_constant<(G::min() < G::max())>::valueG::min()G::max() 都必須是常量表達式,並且比較結果必須是 true