powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / вопрос про приоритеты операций
25 сообщений из 63, страница 2 из 3
вопрос про приоритеты операций
    #39774035
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Этому бояну много лет. И здесь в скруле он уже звучал.
Можно И-нозу кинуть ссылку. Там вроде-уже обсуждалось и UB и компилляторы.
...
Рейтинг: 0 / 0
вопрос про приоритеты операций
    #39774036
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
maytoneNoseпропущено...
компилятор должен выплюнуть ошибку.
Либо таки воспользоваться приоритетом скобок.
Причем здесь скобки? при том что

a=-a++
и
a=-(a++)

одно и тоже, хотя написано что скобки управляют приоритетом.
...
Рейтинг: 0 / 0
вопрос про приоритеты операций
    #39774040
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
maytonЭтому бояну много лет. И здесь в скруле он уже звучал.
Можно И-нозу кинуть ссылку. Там вроде-уже обсуждалось и UB и компилляторы. вообще мне уже объяснили что код не олимпиадный, то и нефиг выпендриваться.
...
Рейтинг: 0 / 0
вопрос про приоритеты операций
    #39774041
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eNosemaytonпропущено...

Причем здесь скобки? при том что

a=-a++
и
a=-(a++)

одно и тоже, хотя написано что скобки управляют приоритетом.а что неправильно?
приоритеты этих операций равны, порядок выполнение в С++ справа налево
...
Рейтинг: 0 / 0
вопрос про приоритеты операций
    #39774042
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
kealon(Ruslan)eNoseпропущено...
при том что

a=-a++
и
a=-(a++)

одно и тоже, хотя написано что скобки управляют приоритетом.а что неправильно?
приоритеты этих операций равны, порядок выполнение в С++ справа налево ну и пусть выполнит сначала то, что в скобках. Полностью, как отдельную операцию.
...
Рейтинг: 0 / 0
вопрос про приоритеты операций
    #39774043
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)весь вопрос где заканчивается выражение

В данном случае это всё равно: приоритет инкремента в любом случае выше присваивания и
выражение "a = a++" никак не должно вычисляться как "(a = a)++".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
вопрос про приоритеты операций
    #39774045
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
Dimitry Sibiryakovkealon(Ruslan)весь вопрос где заканчивается выражение

В данном случае это всё равно: приоритет инкремента в любом случае выше присваивания и
выражение "a = a++" никак не должно вычисляться как "(a = a)++".
a=(a++)
как должно вычисляться?
...
Рейтинг: 0 / 0
вопрос про приоритеты операций
    #39774046
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eNosemaytonЭтому бояну много лет. И здесь в скруле он уже звучал.
Можно И-нозу кинуть ссылку. Там вроде-уже обсуждалось и UB и компилляторы. вообще мне уже объяснили что код не олимпиадный, то и нефиг выпендриваться.
Уже несколько человек тебе написало про UB и разницу в поведении компилляторов.
Сколько еще ты ожидаешь постов на эту тему?
...
Рейтинг: 0 / 0
вопрос про приоритеты операций
    #39774050
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eNoseЯ вправе расчитывать управление ходом расчетов с помощью скобок, не так ли?
Нет, т.к. в С/С++ есть такое понятие как UB (непредсказуемое поведение) в определенных случаях и описанный случай один из них. UB - это свобода компилятору создавать оптимальный код.
Это описано в стандарте С/С++.
...
Рейтинг: 0 / 0
вопрос про приоритеты операций
    #39774053
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakovkealon(Ruslan)весь вопрос где заканчивается выражение

В данном случае это всё равно: приоритет инкремента в любом случае выше присваивания и
выражение "a = a++" никак не должно вычисляться как "(a = a)++".
кто сказал что постинкремент это "цельная" операция?

авторПри использовании операции постинкремента значение переменной сначала используется в выражении, а потом увеличивается на 1
...
Рейтинг: 0 / 0
вопрос про приоритеты операций
    #39774055
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати этот код не должен проходить code-review. Поэтому вопрос его корректного
использования отпадает вобщем-то.
...
Рейтинг: 0 / 0
вопрос про приоритеты операций
    #39774056
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakovkealon(Ruslan)весь вопрос где заканчивается выражение

В данном случае это всё равно: приоритет инкремента в любом случае выше присваивания и
выражение "a = a++" никак не должно вычисляться как "(a = a)++".
я отвечал на другой вопрос, в контексте этого ответа

Код: plaintext
1.
2.
3.
a=-a++
и
a=-(a++)


одно и тоже, ибо если по правилам убрать скобки из второго, получится первое
...
Рейтинг: 0 / 0
вопрос про приоритеты операций
    #39774058
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonКстати этот код не должен проходить code-review. Поэтому вопрос его корректного
использования отпадает вобщем-то.
Плохо что код проходит через компилятор без единого варнинга, по крайней мере в MSVC.
...
Рейтинг: 0 / 0
вопрос про приоритеты операций
    #39774061
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TmaytonКстати этот код не должен проходить code-review. Поэтому вопрос его корректного
использования отпадает вобщем-то.
Плохо что код проходит через компилятор без единого варнинга, по крайней мере в MSVC.

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
>> g++ -Wall d.cpp
d.cpp: In function ‘int main()’:
d.cpp:9:19: warning: operation on ‘a’ may be undefined [-Wsequence-point]
     a = (a++)*(-1);
                   ^
d.cpp:11:15: warning: operation on ‘c’ may be undefined [-Wsequence-point]
     c = -(c++);
               ^


gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.11)
...
Рейтинг: 0 / 0
вопрос про приоритеты операций
    #39774062
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)кто сказал что постинкремент это "цельная" операция?

https://en.cppreference.com/w/cpp/language/operator_incdec
The operand expr of a built-in postfix increment or decrement operator must be a
modifiable (non-const) lvalue of non-boolean arithmetic type or pointer to complete object
type. The result is prvalue copy of the original value of the operand. As a
side-effect, for non-boolean operands, the expression x++ modifies the value of its
operand as if by evaluating x += 1
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
вопрос про приоритеты операций
    #39774065
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иноз? Прояснилось? И я закрою тему вобщем-то.
...
Рейтинг: 0 / 0
вопрос про приоритеты операций
    #39774066
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

в этом выражении ни слова, когда должно быть сделано увеличение значения
...
Рейтинг: 0 / 0
вопрос про приоритеты операций
    #39774067
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
maytonИноз? Прояснилось? И я закрою тему вобщем-то. вопрос был исключительно про скобки.

расхождение явно обозначенного в документации с компиляторами.

тему можно удалять, так как никто не в состоянии объяснить это расхождение с точки зрения документации.
в ней ни слова про "кроме таких то случаев".
...
Рейтинг: 0 / 0
вопрос про приоритеты операций
    #39774069
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
более того, явно сказано, что скобками я могу управлять приоритетом.

а по факту получается что не всегда.
...
Рейтинг: 0 / 0
вопрос про приоритеты операций
    #39774070
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eNosemaytonИноз? Прояснилось? И я закрою тему вобщем-то. вопрос был исключительно про скобки.

расхождение явно обозначенного в документации с компиляторами.

тему можно удалять, так как никто не в состоянии объяснить это расхождение с точки зрения документации.
в ней ни слова про "кроме таких то случаев".вам уже раз ять... объяснили, не надо валить с больной головы на здоровую

перепишите выражения в польскую нотацию и сравните
...
Рейтинг: 0 / 0
вопрос про приоритеты операций
    #39774072
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
kealon(Ruslan)eNoseпропущено...
вопрос был исключительно про скобки.

расхождение явно обозначенного в документации с компиляторами.

тему можно удалять, так как никто не в состоянии объяснить это расхождение с точки зрения документации.
в ней ни слова про "кроме таких то случаев".вам уже раз ять... объяснили, не надо валить с больной головы на здоровую

перепишите выражения в польскую нотацию и сравните выражение синтаксически верно? верно.
в документации указано про управлении скобками? указано.
...
Рейтинг: 0 / 0
вопрос про приоритеты операций
    #39774073
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eNose,

указано, но выводы вы делаете неправильные
...
Рейтинг: 0 / 0
вопрос про приоритеты операций
    #39774074
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eNoseболее того, явно сказано, что скобками я могу управлять приоритетом.

Никакие скобки и приоритеты не могут заставить пост-инкремент вернуть новое значение
переменной. См. процитированное выше.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
вопрос про приоритеты операций
    #39774078
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
kealon(Ruslan)eNose,

указано, но выводы вы делаете неправильные 2+2=4, но выводы я делаю неправильные.

топик можно закрывать :)
...
Рейтинг: 0 / 0
вопрос про приоритеты операций
    #39774085
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eNoseЯ явно задал приоритеты скобками, компилятор съел код.
Приоритет скобок ровно такой же как и у ++ независимо от пре или пост.
Я вправе расчитывать управление ходом расчетов с помощью скобок, не так ли?Ты дал компилятору две операции присваивания в рамках одной строчки, компилятор выбрал приоритет этих присваиваний на свой вкус.

Код: plaintext
1.
2.
if ((a = 6) && (a = 5)){
};
...
Рейтинг: 0 / 0
25 сообщений из 63, страница 2 из 3
Форумы / C++ [игнор отключен] [закрыт для гостей] / вопрос про приоритеты операций
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]