![]() |
Проблема с Xors3D на C++
Суть проблемы проста и ужасна:
Если выбрана конфигурация Debug, то каким-то странным образом Xors меняет все координаты X на Z и наоборот. Если выбрала конфигурация Release, то все нормально. А столкнулся я с проблемой когда сохранял данные в файл. В зависимости от конфигурации он подставляет разные данные: Код:
int SaveGame=xWriteFile(patch); Код:
int LoadGame=xReadFile(patch); |
Ответ: Проблема с Xors3D на C++
Код:
Objects[i].SetPosition(xReadFloat(LoadGame),xReadFloat(LoadGame),xReadFloat(LoadGame)); порядок вычисления аргуметов - не определен. Код:
x = xReadFloat(LoadGame); |
Ответ: Проблема с Xors3D на C++
А почему нельзя?
Не все ли равно, куда считывать? Можно сказать, конечно, что это быдлокодинг, но ведь это не причина данной проблемы. И какую роль играет конфигурация? |
Ответ: Проблема с Xors3D на C++
Цитата:
|
Ответ: Проблема с Xors3D на C++
Ох ты как.
Я даже не знал, что такое бывает. В любом случае, технически я не могу понять, как два значения могут меняться. Но буду избегать этого и явно показывать, разумеется. |
Ответ: Проблема с Xors3D на C++
Цитата:
Код:
someFunc(a,b) Код:
someFunc(read_one_byte(),read_one_byte()) если сначала считаетася второй параметр - то в первом параметре идет второй байт из файла, а во втором - первый. |
Ответ: Проблема с Xors3D на C++
Да, почитал вчера про это, потом понял.
Просто мне казалось, что внутри функции это организовано за меня. Но буду знать. Спасибо. |
Ответ: Проблема с Xors3D на C++
Вместо
Код:
for (i=0;i<int(Objects.size());i++) Код:
for (int i=0,size=Objects.size();i<size;++i) 2. префиксный инкремент ++i вместо i++ |
Ответ: Проблема с Xors3D на C++
Какой профит в данном случае от использования префиксного инкремента?
|
Ответ: Проблема с Xors3D на C++
А какой профит от постфиксного? Я придерживаюсь мнения что лучше всегда писать префиксный, если только явно не нужен постфиксный.
например завтра это превратится в: Цитата:
|
Ответ: Проблема с Xors3D на C++
Народ думает что т.к. префиксный это одна операция заместо двух с аллокацией временной переменной, и поэтому использует префиксный, думая что он умнее компилятора.
Хотя я тоже себе в привычку взял это.. |
Ответ: Проблема с Xors3D на C++
Я считаю так же как МоКа написал. В книжке "Решение сложных задач на С++" прочитал.
|
Часовой пояс GMT +4, время: 22:43. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot