Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Generates a random sequence from an external device.
class random_device {
public:
typedef unsigned int result_type;
explicit random_device(const std::string& token = /* implementation defined */);
result_type min() const;
result_type max() const;
double entropy() const;
result_type operator()();
private:
random_device(const random_device&) = delete;
void operator=(const random_device&) = delete;
};
Remarks
The class describes a source of random numbers, preferably from a non-deterministic external device. In this implementation the values produced by default are non-deterministic and cryptographically secure. They are uniformly distributed in the closed range [0, 232).
Example
The following code demonstrates basic use of this class and example results.
// random_device_engine.cpp
// cl.exe /W4 /nologo /EHsc /MTd
#include <random>
#include <iostream>
using namespace std;
int main()
{
random_device engine;
cout << "entropy == " << engine.entropy() << endl;
cout << "min == " << engine.min() << endl;
cout << "max == " << engine.max() << endl;
cout << "a random value == " << engine() << endl;
cout << "a random value == " << engine() << endl;
cout << "a random value == " << engine() << endl;
return (0);
}
entropy == 32 min == 0 max == 4294967295 a random value == 1394551403 a random value == 2932543967 a random value == 2431218048
Requirements
Header: <random>
Namespace: std