0Pricing
C++ Academy · Lesson

Distributions

Shape random output.

What Distributions Do

A distribution maps an engine's raw bits into values with a desired shape and range. You call it with the engine as an argument.

#include <iostream>
#include <random>

int main() {
    std::mt19937 gen(1);
    std::uniform_int_distribution<int> dist(1, 100);
    std::cout << "value: " << dist(gen) << '\n';
    return 0;
}

Uniform Integer Distribution

std::uniform_int_distribution<int>(a, b) returns integers in the inclusive range [a, b], each equally likely.

#include <iostream>
#include <random>

int main() {
    std::mt19937 gen(5);
    std::uniform_int_distribution<int> die(1, 6);
    for (int i = 0; i < 5; ++i) std::cout << die(gen) << ' ';
    std::cout << '\n';
    return 0;
}

All lessons in this course

  1. Random Engines
  2. Distributions
  3. Seeding Properly
  4. Practical Examples
← Back to C++ Academy