Мне нужно генерировать случайные логические значения на критическом по производительности пути.
Код, который я написал для этого,
std::random_device rd;
std::uniform_int_distribution<> randomizer(0, 1);
const int val randomizer(std::mt19937(rd()));
const bool isDirectionChanged = static_cast<bool>(val);
Но не думайте, что это лучший способ сделать это, поскольку мне не нравится делать static_cast<bool>
.
В Интернете я нашел еще несколько решений
1. std::bernoulli_distribution
2. bool randbool = rand() & 1;
Не забудьте позвонить srand()
в начале.