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