std:: srand
| Common mathematical functions | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Mathematical special functions (C++17) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Mathematical constants (C++20) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Basic linear algebra algorithms (C++26) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Data-parallel types (SIMD) (C++26) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Floating-point environment (C++11) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Complex numbers | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Numeric array (
valarray
)
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Pseudo-random number generation | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Bit manipulation (C++20) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Saturation arithmetic (C++26) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Factor operations | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Interpolations | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Generic numeric operations | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| C-style checked integer arithmetic | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Defined in header
<cstdlib>
|
||
|
void
srand
(
unsigned
seed
)
;
|
||
Seeds the pseudo-random number generator used by
std::rand()
with the value
seed
.
If
std::rand()
is used before any calls to
srand()
,
std::rand()
behaves as if it was seeded with
srand
(
1
)
.
Each time
std::rand()
is seeded with the same
seed
, it must produce the same sequence of values.
srand()
is not guaranteed to be thread-safe.
Contents |
Parameters
| seed | - | the seed value |
Return value
(none)
Notes
Generally speaking, the pseudo-random number generator should only be seeded once, before any calls to
rand()
, at the start of the program.
It should not be repeatedly seeded, or reseeded every time you wish to generate a new batch of pseudo-random numbers.
Standard practice is to use the result of a call to std:: time ( 0 ) as the seed. However, std::time returns a std:: time_t value, and std:: time_t is not guaranteed to be an integral type. In practice, though, every major implementation defines std:: time_t to be an integral type, and this is also what POSIX requires.
Example
Possible output:
Random value on [0, 2147483647]: 1373858591
See also
|
generates a pseudo-random number
(function) |
|
|
maximum possible value generated by
std::rand
(macro constant) |
|
|
reseeds the per-thread random engine
(function) |
|
|
C documentation
for
srand
|
|