Когда я использовал более старые API-интерфейсы, например, API-интерфейсы C в Unix, я всегда замечаю, что люди предпочитают меньше (<) по сравнению с (==) при сравнении их плохих возвращаемых значений.
int result = send(...);
if (result < 0) { perror("..."); }
В случаях, о которых я говорю, код возврата всегда положителен, 0 или -1 (с errno установлено правильное значение). Так почему бы просто не проверить ошибку, используя (result == -1) вместо (result < 0)?
Я спрашиваю, потому что мне было интересно, если это по привычке или если более эффективно использовать меньше, чем? Я думал о том, что если бы вы сравнивали два uint64_t, и вы обнаружили разницу в MSB, вам не пришлось бы проверять остальные 7 байтов и т.д. Я мог бы достичь этой логики, хотя!