我很想知道random
C ++ 11库中是否有默认的随机布尔生成器。我一直在使用一个返回0
或1
然后转换为bool的int生成器,但我正在尝试优化我的代码并认为我可以通过从头开始使用bool生成器来保存,如果它存在。
答案 0 :(得分:12)
请参阅std::bernoulli_distribution
标题中的<random>
,以Bernoulli distribution命名。
std::random_device device;
std::mt19937 gen(device());
std::bernoulli_distribution coin_flip(0.5);
bool outcome = coin_flip(gen);