Я и прошёл дебагером, там и было 27. Правильное значение 2
3. Терминальный ноль куда дели?
Хуже когда задача числодробильная, а компилятор генерирует плохой код для const float. Поэтому в стандарте кодирования движка Unreal к конце 90-х плавающие константы определялись через дефайн, например. Так и повелось с тех пор пока не появились более удобные средства для работы с плавающими константами.
Каким бы плохим ни был код, это не сопоставимо лучше, чем напороться на макрос за пределами области видимости.
Код: Выделить всё
void f1()
{
const float x=20.3;
}
void f2()
{
const float x=30.64;
}
, а теперь забываем прописать строку
и получаем затык при коммпиляции.
Код: Выделить всё
void f1()
{
#define x=20.3;
}
void f2()
{
#define x=30.64;
}
. А вот теперь мало того, что если забыть
, то компилятор это проглотит, так ещё попробуйте на вскидку сказать, не будет ли здесь конфликта в случае, когда строка
не забыта. Я вот не скажу, так как первый дефайн распространяется на f2. Код с const на столько испортить не возможно в принципе. Уж лучше даже
Код: Выделить всё
void f1()
{
float x=20.3;
}
void f2()
{
float x=30.64;
}
.
Какой тип создает анонимный enum?
То, что им невозможно пользоваться, сути не меняет.
Писать можно на чём угодно, но зачем же так себя ограничивать? Пиши на c.