Мой вопрос касается строки, которую я упомянул в теме, и которую я вижу во многих местах внутри производственного кода.
Общий код выглядит следующим образом:
if (0) {
// Empty braces
} else if (some_fn_call()) {
// actual code
} else if (some_other_fn_call()) {
// another actual code
...
} else {
// default case
}
Другие ветки не имеют отношения к моему вопросу. Мне интересно, что означает значение if (0)
здесь. Скобки пусты, поэтому я не думаю, что он должен комментировать некоторый блок кода. Заставляет ли это заставить компилятор сделать некоторую оптимизацию или разные ее намерения?
Я попытался найти этот явный случай здесь, на SO и в Интернете, но без успеха. Есть похожие вопросы о JavaScript, но не C. Там другой вопрос: что происходит, когда нуль присваивается в условии "если"? , но в нем обсуждается нулевое присвоение переменной, а не "if (0)".