«Проблема производительности» заключается в том, что приведение не является полностью бесплатным.Приведение к bool
по сути означает приведение всех ненулевых значений к 1
, что требует небольшого количества кода, в отличие от "свободного" приведения типа расширения char
до int
.«Проблема производительности» - это несколько дополнительных машинных инструкций.Если вы делаете это миллион раз по кругу, хорошо, может быть, вам все равно - иначе нет, вам все равно.Это IMO - глупое предупреждение компилятора;эта небольшая добавленная стоимость является просто частью компромисса, который вы делаете при использовании bool
, и компилятор не должен вас беспокоить.