Строго говоря, если элемент не инициализируется с помощью in-class-initializer, ctor-init-list, в случае статической / потоковой инициализации нулевого класса хранения или в случае инициализации значения агрегатов или инициализации агрегата, он будет инициализирован по умолчанию, что оставляет типы типа bool
неопределенными.
Вы можете впоследствии назначить их, но это не одно и то же.
Теперь мы переходим к следующей части:
Каждый класс должен применять свои собственные инварианты настолько, насколько это возможно. Да, наличие не private
членов уменьшает эту способность, но удобство, которое может привести к меньшему количеству копий и, следовательно, потенциально большей эффективности, иногда стоит.
Кроме того, вы не должны повторяться без необходимости.
Итак, используйте инициализатор в классе.