typedef struct
является признаком человека не до конца перешедшего с C на C++. const bool is_failed = a != "a";
if( is_failed ) [[unlikely]]
{
// failure
return ... ;
}
// success
//failure
он поместит в отдельное место, куда прыгнет в случае is_failed == true
. Этот скитер наверняка ограничен и не следует стандартам CSS3\html5 и поддерживает лишь часть функций, крутой интерфейс на нем не сделаешь.
#define bRead(value, bit) (((value) >> (bit)) & 0x01)
if( ( map & 0x3E ) == 0 )
.!
имеет булеву семантику. Если bRead
объявлена не как bool bRead( ... )
, то использование оператора !
будет вводить людей в заблуждение. Функция называется b-Read
, в которой, согласно Венгерской нотации, b
означает тип результата bool
. Слово Read
означает действие, относительно которого возвращаемое булево значение обычно воспринимается как успешность совершения действия: получилось или нет сделать Read
.b
тоже означает Бит (или, чего еще хуже, функция возвращает бит в виде значения bool
), то пользователь это поймет не сразу. Особенно когда перед bRead
стоит оператор !
и все условие выглядит как проверка на то, что следующие 5 бит после первого прочитать не удалось.( map & 0x3E ) == 0
, это однозначно и понятно читается. Скобки ставят акцент действия и знание порядка операторов тут не при чем.