Classe System::Random

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éthodeDescription
IsNull() constRetourne 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