Classe System::Random
Contenu
[
Cacher
]Random class
Représente un générateur de nombres pseudo-aléatoires. Les objets de cette classe ne doivent être alloués qu’en utilisant la fonction System::MakeObject() . Ne créez jamais d’instance de ce type sur la pile ou en utilisant l’opérateur new, car cela entraînera des erreurs d’exécution et/ou des fautes d’assertion. Enveloppez toujours cette classe dans un pointeur System::SmartPtr et utilisez ce pointeur pour le passer aux fonctions en tant qu’argument.
class Random : public System::Object
Méthodes
| Méthode | Description |
|---|---|
| IsNull() const | Retourne toujours false. |
| virtual Next() | Renvoie un nombre aléatoire non négatif inférieur à la valeur maximale int32. |
| virtual Next(int32_t) | Renvoie un nombre aléatoire non négatif inférieur au maximum spécifié. |
| virtual Next(int32_t, int32_t) | Renvoie un nombre aléatoire dans la plage spécifiée. |
| virtual NextBytes(const ArrayPtr<uint8_t>&) | Remplit les éléments du tableau d’octets spécifié avec des nombres aléatoires. |
| virtual NextDouble() | Renvoie un nombre aléatoire compris entre 0.0 et 1.0. |
| Random() | Initialise une nouvelle instance en utilisant une valeur de graine par défaut dépendante du temps. |
| Random(int32_t) | Initialise une nouvelle instance de la classe System.Random en utilisant la valeur de graine spécifiée. |
Remarques
#include "system/random.h"
#include "system/smart_ptr.h"
#include <iostream>
int main()
{
const auto rnd = System::MakeObject<System::Random>();
// Obtenez un numéro de mois aléatoire et affichez-le.
auto monthNumber = rnd->Next(1, 13);
std::cout << "Month: " << monthNumber << std::endl;
// Remplissez le tableau avec des nombres aléatoires.
auto arr = System::MakeObject<System::Array<uint8_t>>(12);
rnd->NextBytes(arr);
// Affichez le tableau.
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
*/
Voir aussi
- Class Object
- Namespace System
- Library Aspose.Font for C++