Re[5]: Int overflow (простой вопрос)
От: Андрей Тарасевич Беларусь  
Дата: 20.12.06 02:31
Оценка:
Здравствуйте, sevanew, Вы писали:

ПВ>>>Вместо

ПВ>>>SHRT_MAX + 1 следовало читать SHRT_MAX
ПВ>>>и соответственно
ПВ>>>вместо INT_MAX + 1 следовало читать INT_MAX

ПВ>>>голова дурная уже в час ночи

ПВ>>>но как я понял от этого ничего не поменяется: все равно будет в обоих случаях будет UB

АТ>>Общий итог — не поменяется. Просто все те же эффекты теперь переместятся от инициализаций к инкрементам.


АТ>>В случае с 'i' мы опять получим неопределенное поведение на инкременте '++i' по тем же причинам.


АТ>>В случае с 's' мы опять получаем либо неопределеное поведение (если диапазон 'short' совпадает с диапазоном 'int'), либо результат, определяемый реализацией (в противном случае). По тем же причинам.


АТ>>Т.е. конкретного ответа в общем случае по-прежнему нет.


S>почему нет конкретного ответа, я посмотрел на код ассемблера и пришел у видел то, что и ожидалось....


В языке С++ нет никакого "кода ассемблера" и смотреть, сответственно, некуда. Ты увидел "то, что и ожидалось" в коде, сгенерированном конкретным компилятором. Я же вел речь об общем случае.
Best regards,
Андрей Тарасевич
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.