# std::experimental::randint

< cpp‎ | experimental

定义于头文件 `<experimental/random>` |  |
template <class IntType> IntType randint(IntType a, IntType b); |  | (库基础 TS v2)

生成闭区间 `[a, b]` 中的随机整数。

### 参数

a, b | - | 指定范围的整数值

### 返回值

用逐线程随机数引擎调用 std::uniform_int_distribution<IntType> 的线程局域实例生成的闭区间 `[a, b]` 中的随机整数 i 。

### 提醒

若 `IntType` 不是 short 、 int 、 long 、 long long 、 unsigned short 、 unsigned int 、 unsigned long 或 unsigned long long 之一，则程序非良构。

若 a > b 则行为未定义。

### 示例

    #include <iostream>
    #include <experimental/random>

    int main()
    {
        int random_number = std::experimental::randint(100, 999);
        std::cout << "random 3-digit number: " << random_number << '\n';
    }

可能的输出：

    random 3-digit number: 273

### 参阅

reseed | 重播种单个线程的随机引擎 (函数)