适当的布尔随机生成器(伯努利分布)

Lea*_*ess 6 c++ random boolean probability c++11

我很想知道randomC++ 11库中是否有默认的随机布尔生成器.我一直在使用一个int生成器返回01然后转换为bool但我正在尝试优化我的代码并认为我可以通过从一开始使用bool生成器来保存,如果它存在的话.

Tim*_*lds 12

std::bernoulli_distribution<random>标题中看到,恰好以伯努利分布命名.

std::random_device device;
std::mt19937 gen(device());
std::bernoulli_distribution coin_flip(0.5);
bool outcome = coin_flip(gen);
Run Code Online (Sandbox Code Playgroud)