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