C++, изменение диапазона распределителей
Скажите, пожалуйста, почему стандартные распределители случайных чисел не позволяют изменить диапазон распределения без пересоздания распределителей? Или же я просто не нашел описания методов, которые позволяют это сделать?
std::uniform_int_distribution<int> distribution{ 0, 100 };
// Далее изменить диапазон уже невозможно?
Как именно устроены распределители? Является ли их пересоздание достаточно быстрой операцией?
Ответы (1 шт):
Автор решения: AR Hovsepyan
→ Ссылка
стандартные распределители случайных чисел позволяют изменить диапазон распределения. Экземпляры имеют функции_члены, которые просто нужно использовать. Например:
std::uniform_int_distribution<int> distribution{ 0, 100 };
distribution.param(std::uniform_int_distribution<int>::param_type(8, 30));
теперь диапазон изменился.