- Qt 6.8
- Qt Core
- C++ Classes
- QRandomGenerator64
- Qt 6.8.3 Reference Documentation

# QRandomGenerator64 Class

The QRandomGenerator64 class allows one to obtain 64-bit random values from a high-quality, seed-less Random Number Generator. More...

Header: | `#include <QRandomGenerator64>`
CMake: | `find_package(Qt6 REQUIRED COMPONENTS Core)` `target_link_libraries(mytarget PRIVATE Qt6::Core)`
qmake: | `QT += core`
Inherits: | QRandomGenerator

- List of all members, including inherited members

## Public Types

| result_type

## Public Functions

quint64 | generate()
QRandomGenerator64::result_type | operator()()

## Detailed Description

QRandomGenerator64 is a simple adaptor class around QRandomGenerator, making the QRandomGenerator::generate64() function the default for operator()(), instead of the function that returns 32-bit quantities. This class is intended to be used in conjunction with Standard Library algorithms that need 64-bit quantities instead of 32-bit ones.

In all other aspects, the class is the same. Please refer to QRandomGenerator's documentation for more information.

See also QRandomGenerator.

## Member Type Documentation

### QRandomGenerator64::result_type

A typedef to the type that operator() returns. That is, quint64.

See also operator().

## Member Function Documentation

### quint64 QRandomGenerator64::generate()

Generates one 64-bit random value and returns it.

Note about casting to a signed integer: all bits returned by this function are random, so there's a 50% chance that the most significant bit will be set. If you wish to cast the returned value to qint64 and keep it positive, you should mask the sign bit off:

         qint64 value = QRandomGenerator64::global()->generate() & std::numeric_limits<qint64>::max();

See also QRandomGenerator and QRandomGenerator::generate64().

### QRandomGenerator64::result_type QRandomGenerator64::operator()()

Generates a 64-bit random quantity and returns it.

See also QRandomGenerator::generate() and QRandomGenerator::generate64().