System::Random Klasse
Inhalt
[
Ausblenden
]Random class
Stellt einen Pseudo-Zufallszahlengenerator dar. Objekte dieser Klasse sollten nur mit der Funktion System::MakeObject() alloziert werden. Erzeugen Sie niemals eine Instanz dieses Typs auf dem Stack oder mit dem Operator new, da dies zu Laufzeitfehlern und/oder Assertion-Fehlern führt. Wickeln Sie diese Klasse immer in einen System::SmartPtr Zeiger ein und verwenden Sie diesen Zeiger, um ihn als Argument an Funktionen zu übergeben.
class Random : public System::Object
Methoden
| Methode | Beschreibung |
|---|---|
| IsNull() const | Gibt immer false zurück. |
| virtual Next() | Gibt eine nichtnegative Zufallszahl zurück, die kleiner als der maximale int32-Wert ist. |
| virtual Next(int32_t) | Gibt eine nichtnegative Zufallszahl zurück, die kleiner als das angegebene Maximum ist. |
| virtual Next(int32_t, int32_t) | Gibt eine Zufallszahl innerhalb des angegebenen Bereichs zurück. |
| virtual NextBytes(const ArrayPtr<uint8_t>&) | Füllt die Elemente des angegebenen Byte-Arrays mit Zufallszahlen. |
| virtual NextDouble() | Gibt eine Zufallszahl zwischen 0,0 und 1,0 zurück. |
| Random() | Initialisiert eine neue Instanz unter Verwendung eines zeitabhängigen Standard-Seed-Werts. |
| Random(int32_t) | Initialisiert eine neue Instanz der System.Random Klasse unter Verwendung des angegebenen Seed-Werts. |
Hinweise
#include "system/random.h"
#include "system/smart_ptr.h"
#include <iostream>
int main()
{
const auto rnd = System::MakeObject<System::Random>();
// Erhalte eine zufällige Monatszahl und gib sie aus.
auto monthNumber = rnd->Next(1, 13);
std::cout << "Month: " << monthNumber << std::endl;
// Fülle das Array mit Zufallszahlen.
auto arr = System::MakeObject<System::Array<uint8_t>>(12);
rnd->NextBytes(arr);
// Gib das Array aus.
for (auto i = 0; i < arr->get_Length(); ++i)
{
std::cout << static_cast<int>(arr[i]) << ' ';
}
std::cout << std::endl;
return 0;
}
/*
This code example produces the following output:
Month: 4
177 213 89 240 68 182 18 96 109 131 1 78
*/
Siehe auch
- Class Object
- Namespace System
- Library Aspose.Font for C++