std::random_device::random_device
Материал из cppreference.com
|
|
Эта страница была переведена автоматически с английской версии вики используя Переводчик Google. Перевод может содержать ошибки и странные формулировки. Наведите курсор на текст, чтобы увидеть оригинал. Щёлкните здесь, чтобы увидеть английскую версию этой страницы. (Вы можете помочь в исправлении ошибок и улучшении перевода. Для инструкций перейдите по ссылке.) |
<metanoindex/>
<tbody> </tbody> explicit random_device(const std::string& token = /*implementation-defined*/ ); |
(начиная с C++11) | |
Создает новый объект std::random_device, используя аргумент
token, если это предусмотрено в реализации определенным образом. Оригинал:
Constructs a new std::random_device object, making use of the argument
token, if provided, in implementation-defined manner. Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Типичные реализации на Linux системе, например, ожидает, что
token быть имя персонажа устройство, которое производит случайных чисел при чтении, значение по умолчанию "/dev/urandom".Оригинал:
Typical implementation on a Linux system, for example, expects
token to be the name of a character device that produces random numbers when read from, with the default value "/dev/urandom".Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Исключения
Выдает осуществление определенного исключения, производные от std::exception на провал.
Оригинал:
Throws an implementation-defined exceptions derived from std::exception on failure.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Пример
Демонстрируются два широко доступных типов
std::random_device на Linux
Оригинал:
Demonstrates the two commonly available types of
std::random_device on Linux
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Запустить этот код
#include <iostream>
#include <random>
int main()
{
std::uniform_int_distribution<int> d(0, 10);
std::random_device rd1; // uses /dev/urandom
for(int n = 0; n < 10; ++n)
std::cout << d(rd1) << ' ';
std::cout << '\n';
std::random_device rd2("/dev/random"); // much slower on Linux
for(int n = 0; n < 10; ++n)
std::cout << d(rd2) << ' ';
std::cout << '\n';
}
Вывод:
7 10 7 0 4 4 6 9 4 7
2 4 10 6 3 2 0 6 3 7