Когда я компилирую следующий фрагмент кода и запускаю его, я ожидаю, что он выведет утверждение в строке №. 12. Но этого не происходит? Почему так происходит? Как компилятор обрабатывает комментарий в блоке if?
1 #include <iostream>
2 using namespace std;
3
4 int main() {
5 int a;
6 if (false)
7 cout << "This will not be printed." << endl;
8 cout << "This will be printed anyway." << endl;
9
10 if (false)
11 // comment
12 cout << "This should also be printed. But not. Why?" << endl;
13 a = 100;
14
15 cout << "a = " << a << endl;
16 }
производит:
hyper150:~ 1041$ g++ what_if.cpp
hyper150:~ 1042$ ./a.out
This will be printed anyway.
a = 100