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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Определено в заголовочном файле
<cstdlib>
|
||
|
void
srand
(
unsigned
seed
)
;
|
||
Заполняет генератор псевдослучайных чисел, используемый
std::rand()
значением
seed
.
Если
std::rand()
используется до любых вызовов
srand()
,
std::rand()
ведет себя так, как если бы она была инициализирована с помощью
srand
(
1
)
.
Каждый раз, когда
std::rand()
инициализируется одним и тем же
seed
, он должен генерировать одинаковую последовательность значений.
srand()
не гарантирует потокобезопасность.
Содержание |
Параметры
| seed | - | значение начального числа |
Возвращаемое значение
(нет)
Примечания
В общем случае, генератор псевдослучайных чисел должен инициализироваться только один раз, перед любыми вызовами
rand()
, в начале программы.
Не следует выполнять повторную инициализацию или переинициализацию каждый раз, когда требуется сгенерировать новую партию псевдослучайных чисел.
Стандартной практикой является использование результата вызова std:: time ( 0 ) в качестве затравки. Однако std::time возвращает значение типа std:: time_t , а std:: time_t не гарантированно является целочисленным типом. На практике, однако, все основные реализации определяют std:: time_t как целочисленный тип, и этого же требует стандарт POSIX.
Пример
Возможный вывод:
Random value on [0, 2147483647]: 1373858591
Смотрите также
|
генерирует псевдослучайное число
(функция) |
|
|
максимальное возможное значение, генерируемое
std::rand
(макроконстанта) |
|
|
переинициализирует поточно-ориентированный генератор случайных чисел
(функция) |
|
|
Документация C
для
srand
|
|