Я работаю над несколькими логическими переменными, которые сейчас преобразовываю в логические массивы:
bool bool_var -> bool bool_var[SIZE]
Это приводит к склонному к ошибкам поведению, так как если раньше:
if (bool_var) { ... }
может возвращать «true» или «false», эта же строка кода всегда возвращает «true», поскольку «bool_var» теперь является указателем на массив.Это довольно подвержено ошибкам, особенно если копируется большое количество переменных.
Итак, вот вопрос: Есть ли менее подверженный ошибкам способ делать вещи?
Решения, которые я думал, могли бы работать:
- Замена логического типа на строго типизированный enum (большие издержки в C ++ 03).
- Некоторая директива компиляторавызвать предупреждение (я не смог его найти ..).
Есть идеи?