std::rand
| Определено в заголовочном файле <cstdlib>
|
||
| int rand(); |
||
Возвращает целое псевдо-случайное число между 0 и RAND_MAX (включая 0 и RAND_MAX).
std::srand() инициализирует генератор псевдо-случайных чисел, используемый в rand(). Если rand() был вызван до использования srand(), то rand() ведет себя так, как будто последовательность случайных чисел была задана путём вызова srand(1).
Каждый вызов srand() повторно инициализирует rand(), они должны предоставлять одну и ту же последовательность значений при последовательных вызовах с одним и тем же аргументом для srand(). Следует учитывать, что другие функции стандартной библиотеки тоже могут вызывать rand, если он необходим для их выполнения.
Гарантий потокобезопасности rand() нет, это определяется реализацией стандартной библиотеки.
Содержание |
[править] Параметры
(Нет)
[править] Возвращаемое значение
Псевдо-случайное целое число между 0 и RAND_MAX (включая 0 и RAND_MAX).
[править] Примечание
Нет никаких гарантий в отношении криптографической стойкости сгенерированных случайных чисел.
В прошлом, в некоторых реализациях rand() имели место серьезные недостатки случайного распределения чисел (к примеру, единицы в нижних разрядах между вызовами просто чередовались 1-0-1-0-...).
rand() не рекомендуется использовать для генерации большого количества случайных чисел, особенно в криптографии.
[править] Пример
#include <cstdlib> #include <iostream> #include <ctime> int main() { // используем текущее время как начальное значение для генератора случайных чисел std::srand(unsigned(std::time(0))); int random_variable = std::rand(); std::cout << "Uniform random value on [0 " << RAND_MAX << "]: " << random_variable << '\n'; }
Возможный вывод:
Uniform random value on [0 2147483647]: 1373858591
[править] См. также
| инициализирует псевдо-генератор случайных чисел Оригинал: initializes pseudo-random number generator Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (функция) | |
| C documentation for rand
|

