Я пишу код на С++, и я бы хотел вызвать две функции (checkXDirty и checkYDirty) и вернуть true, если возвращает true. Мне нужно оценить оба значения, даже если один возвращает true, поэтому моя первая мысль заключалась в использовании
return checkXDirty() | checkYDirty();
Это выглядит немного странно (возможно, грязно). Это всегда приводит к правильному результату в С++? Как насчет C, с типом _Bool? (Этот код может быть адаптирован для любого языка, и я не хочу неприятных сюрпризов при отправке кода).