Механизмы случайных чисел не должны быть инициализированы значением по умолчанию
Механизмы случайных чисел не должны быть инициализированы значением по умолчанию.
Генераторы псевдослучайного числа зависят от начального значения seed, чтобы сгенерировать последовательность случайных чисел. Инициализация по умолчанию механизмов случайных чисел сделана при помощи seed по умолчанию, который является постоянным значением. Если вы вызываете генератор случайных чисел, который имеет инициализацию по умолчанию многократно, вы получаете ту же последовательность каждый раз. Чтобы сгенерировать неповторяющиеся последовательности случайных чисел, используйте уникальные, значения seed не по умолчанию каждый раз, когда вы инициализируете генератор случайных чисел.
Это правило предотвращает генерацию детерминированных последовательностей в производственном коде, где случайность требуется. Исключение к этому правилу позволено, когда детерминированная последовательность требуется в сопоставимых целях тестирования.
Средство проверки сообщает о нарушениях относительно линий в который:
Генератор случайных чисел стандарта C++ инициализируется значением по умолчанию.
Функция отбора генератора случайных чисел вызвана при помощи неявного вызова параметров по умолчанию или явного default_seed
аргумент..
Примечание
Средство проверки не сообщает об инициализациях механизма случайных чисел, которые имеют постоянные входные параметры.
Если вы ожидаете нарушение правила, но не видите его, обратитесь к Кодированию Стандартных Нарушений, Не Отображенных.
Группа: библиотека Algorithms |
Категория: необходимый, автоматизированный |