История изменений
Исправление monk, (текущая версия) :
Ну и опять-же, скорее всего еще компилятор C# еще на этапе компиляции исходников, задолго до JIT, вырежет мертвые ветки кода.
Я не понял. То есть если я напишу
if (0) {
no_such_type x;
undefined_function(x);
}
То это скомпилируется?
Всякие Скотты Майерсы и прочие давно даже для C/C++ советуют использовать if вместо #ifdef, т.к. с ним проблем меньше. Единственное удобство в #ifdef в случае C/C++ - это то, что можно макросы через -D в командной строке задать.
На C++
$ g++ test.cpp
test.cpp: In function ‘int main()’:
test.cpp:4:8: error: ‘no_such_type’ was not declared in this scope
test.cpp:4:21: error: expected ‘;’ before ‘x’
test.cpp:5:27: error: ‘x’ was not declared in this scope
test.cpp:5:28: error: ‘undefined_function’ was not declared in this scope
Исходная версия monk, :
Ну и опять-же, скорее всего еще компилятор C# еще на этапе компиляции исходников, задолго до JIT, вырежет мертвые ветки кода.
Я не понял. То есть если я напишу
if (0) {
no_such_type x;
undefined_function(x);
}
То это скомпилируется?
На C++
$ g++ test.cpp
test.cpp: In function ‘int main()’:
test.cpp:4:8: error: ‘no_such_type’ was not declared in this scope
test.cpp:4:21: error: expected ‘;’ before ‘x’
test.cpp:5:27: error: ‘x’ was not declared in this scope
test.cpp:5:28: error: ‘undefined_function’ was not declared in this scope