Namespaces
Variants
Views
Actions

std::experimental::randint

From cppreference.com
< cpp‎ | experimental
Revision as of 10:14, 19 July 2023 by Andreas Krug (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
 
 
Experimental
Technical Specification
Filesystem library (filesystem TS)
Library fundamentals (library fundamentals TS)
Library fundamentals 2 (library fundamentals TS v2)
Library fundamentals 3 (library fundamentals TS v3)
Extensions for parallelism (parallelism TS)
Extensions for parallelism 2 (parallelism TS v2)
Extensions for concurrency (concurrency TS)
Extensions for concurrency 2 (concurrency TS v2)
Concepts (concepts TS)
Ranges (ranges TS)
Reflection (reflection TS)
Mathematical special functions (special functions TR)
Experimental Non-TS
Pattern Matching
Linear Algebra
std::execution
Contracts
2D Graphics
 
 
Defined in header <experimental/random>
template< class IntType >
IntType randint( IntType a, IntType b );
(library fundamentals TS v2)

Generates a random integer in the closed interval [a, b].

Contents

[edit] Parameters

a, b - integer values specifying the range

[edit] Return value

A random integer i in the closed interval [a, b], produced using a thread-local instance of std::uniform_int_distribution<IntType> invoked with the per-thread random number engine.

[edit] Remarks

If IntType is not one of short, int, long, long long, unsigned short, unsigned int, unsigned long, or unsigned long long, the program is ill-formed.

The behavior is undefined if a > b.

[edit] Example

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

Possible output:

random 3-digit number: 273

[edit] See also

reseeds the per-thread random engine
(function) [edit]