У меня есть привычка использовать следующий синтаксис во временных флагах компиляции:
#if (defined(A) & defined(B))
Обычно я предлагал сделать это с помощью &&
следующим образом:
#if (defined(A) && defined(B))
Я знаю разницу между двумя операторами и что в нормальном коде &&
будет короткое замыкание. Тем не менее, все это обрабатывается компилятором. Неважно, что я использую? Это влияет на время компиляции на некоторую бесконечно малое количество, потому что оно не оценивает второй define()
?