|
BloodyWo1f
|
||||||
Постфиксный и префиксный декремент26.06.2013, 19:22. Показов 5421. Ответов 42
Метки нет (Все метки)
|
||||||
| 26.06.2013, 19:22 | |
|
Ответы с готовыми решениями:
42
Префиксный и постфиксный инкремент
|
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,875
|
|||
| 26.06.2013, 23:27 | |||
|
на следующей строчке все в порядке будет ведь мы здесь не присваиваем или компилятор выбросит одно уменьшение? Добавлено через 3 минуты ![]() тогда действительно ерунда получается Не будем так писать
0
|
|||
|
|
||||
| 26.06.2013, 23:28 | ||||
|
Так вот ты утверждаешь, что эту программу возможно интерпретировать каким-то иным образом, кроме
0
|
||||
|
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
|
||
| 26.06.2013, 23:29 | ||
|
@Croessmah, да дело уже даже не в порядке, а в
0
|
||
|
11 / 11 / 2
Регистрация: 20.05.2011
Сообщений: 71
|
||||||||||||||||
| 26.06.2013, 23:35 | ||||||||||||||||
|
при
а значение i=2. (т.е. сначала выполнятся 2 раза ++, а потом сложатся) при
при
делайте простые выводы
0
|
||||||||||||||||
|
Неэпический
|
|||||||
| 26.06.2013, 23:41 | |||||||
А у Вас получались одинаковые, потому что хоть задом наперед все сделай, все равно будет одинаковый ответ. А вот при разности, ну или при разных подвыражениях будет бо-бо...
0
|
|||||||
|
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
|
||
| 26.06.2013, 23:52 | ||
|
@Kuzia domovenok, я не занимаюсь исследованием компиляторов, мне это не к чему. Возможно, что все существующие компиляторы оценят это выражения так, как описано в теме. Но это ничего не меняет по отношению к стандарту.
И да, это утверждение не верно:
@razor_ua, мда, тут все понятно...
0
|
||
|
11 / 11 / 2
Регистрация: 20.05.2011
Сообщений: 71
|
|
| 26.06.2013, 23:55 | |
|
мда.... при ВЫЧИТАНИИ сначала выполняется ++ 2 раза, пофиг с какой стороны, и выводится результат отнимания..
а при сложении только 1 инкремент... теперь ночью будут кошмары сниться )))
0
|
|
|
|
||
| 27.06.2013, 00:00 | ||
|
Больше похоже наоборот, на подтверждение слов @Croessmah
0
|
||
|
Неэпический
|
|
| 27.06.2013, 00:08 | |
|
@Toshkarik, UB происходит в данных случаях от того, что в разных компиляторах дерево строится по разному и все зависит от того, в каком порядке это дерево "обходится", а это зависит от реализации. А значит нет однозначного ответа в каком порядке будут выполнены подвыражения. В случае с (--a)-- скобки влияют на построение дерева таким образом, что выполнить по другому просто не получится
0
|
|
|
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
|
||
| 27.06.2013, 00:08 | ||
|
@Croessmah, я не вставил это в цитату, потому что, если верить сноски, то, как я уже писал, выражение ++++++i неявно оценивается компилятором как ++( ++( ++i )), что является UB, отсюда сделал вывод, что и ( --i )-- является UB.
0
|
||
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,875
|
|||||||||||||||||
| 27.06.2013, 00:11 | |||||||||||||||||
|
передается копия что это меняет
а в следующей строчке i==0; при любых компиляторах где тут неопределенное поведение? и мне без разницы выведет он переменную а потом уменьшит или создаст копию уменьшит а потом выведет копию главное результат предсказуем ты ведь не заморачиваешься fnc(2+2,5+6); что сначала выполнится 2+2 или 5+6 главное в функцию уйдут 4 и 11 UB страшны не сами по себе, их в каждой строчке может быть сто штук а в том что при определенных условиях они могут дать неизвестно что например это всегда отработает
0
|
|||||||||||||||||
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,875
|
|||||||
| 27.06.2013, 00:21 | |||||||
![]() это как
0
|
|||||||
| 27.06.2013, 00:26 | |
|
0
|
|
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,875
|
||||||
| 27.06.2013, 01:20 | ||||||
|
отвлекли вы меня от работы
![]() начал баловаться вот они UB
210 333 220
0
|
||||||
|
36 / 36 / 2
Регистрация: 28.04.2013
Сообщений: 110
|
|
| 27.06.2013, 07:17 | |
|
лурк тоже в теме =)
Добавлено через 7 минут я на стороне Toshkarik, это UB, однако как я понимаю UB - в рамках разных компиляторов, а не в пределах одного, любопытства ради, можно запустить проверить на 1е9 тестах и посмотреть что будет, имхо ответ всегда будет 1 и тот же
0
|
|
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 27.06.2013, 09:42 | |
|
Все четко, нету UB в коде.
Вопрос знающим: кто-то смог хорошенько разобраться в определении UB в C++11 (sequenced before, sequenced after, etc)?
0
|
|
|
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
|
|
| 27.06.2013, 09:53 | |
|
По ссылке, что я приводил, вроде, есть объяснение.
http://stackoverflow.com/quest... nce-points Начинается примерно в середине.
1
|
|
| 27.06.2013, 09:53 | |
|
Потокобезопасен ли префиксный инкремент/декремент? Поясните как работает постфиксный и префиксный оператор на примере
Постфиксный, и префиксный экземпляры оператора приращения: в чем разница? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
GitDOS: Когда я решил скрестить MS-DOS, GitHub и Claude
MaGz GoLd 08.07.2026
Привет, Киберфорум! Хочу поделиться своим проектом, который, надеюсь, вас заинтересует. GitDOS — это веб-приложение, которое позволяет запускать DOS в браузере с тремя крутыми фичами: диски живут в. . .
|
Учебный мини "цифровой двойник" = (Сервер = Java + Flask_питон )+(3D = Гугловскаая 4T nvideo + google colab) +( WMS = Odoo на Docker)
anaschu 07.07.2026
Увидел в требованиях к вакансии создателя имитационных моделей связку (REst + Api + WMS + Anylogic + питон + 3D Nvideo), и решил посмотреть, что это такое. Из этого всего я работал более менее. . .
|
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал.
Оно само - говорит.
Кто слышит тот слышит.
|
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было
ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась.
Первый вариант. . .
|
|
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2.
Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
|
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|