Форум программистов, компьютерный форум CyberForum.ru

Подзабыл порядок - C++

Восстановить пароль Регистрация
 
ramybozy
8 / 8 / 0
Регистрация: 01.07.2012
Сообщений: 138
30.10.2012, 16:32     Подзабыл порядок #1
МОжно ли утверждать, что в операторе присваивания левая его часть вычисляется раньше правой?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.10.2012, 16:32     Подзабыл порядок
Посмотрите здесь:

Обратный порядок C++
Порядок Хедеров C++
порядок байтов C++
C++ порядок в выражении
Обратный порядок.. C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Герц
523 / 340 / 4
Регистрация: 05.11.2010
Сообщений: 1,077
Записей в блоге: 1
30.10.2012, 16:44     Подзабыл порядок #2
Поясни. Ты имеешь в виду ассоциативность, или что-то другое?
Операторы присваивания право-ассоциативные.
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1234 / 983 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
30.10.2012, 16:45     Подзабыл порядок #3
Не, думаю именно порядок вычисления подвыражений выражения присваивания. Если это, то ответ отрицателен: порядок не определён.
HacTeHkA
0 / 0 / 0
Регистрация: 30.10.2012
Сообщений: 7
30.10.2012, 16:47     Подзабыл порядок #4
не определен !
ramybozy
8 / 8 / 0
Регистрация: 01.07.2012
Сообщений: 138
30.10.2012, 16:50  [ТС]     Подзабыл порядок #5
Цитата Сообщение от Герц Посмотреть сообщение
Поясни. Ты имеешь в виду ассоциативность, или что-то другое?
Левая часть оператора присваивания может вычисляться в ссылку (например на определенный элемент массива или еще чего-либо). Тогда, например и в левой и в правой части может быть один и тот же параметр (скажем переменная i, которая в левой части задает местоположение элемента в массиве, а в правой оказывает влияние на его значение).

Вот здесь и возникает вопрос, что считается раньше. Короче интересует, что по этому поводу говорит стандарт.

Добавлено через 54 секунды
Цитата Сообщение от HacTeHkA Посмотреть сообщение
не определен !
Уверены точно?
Герц
523 / 340 / 4
Регистрация: 05.11.2010
Сообщений: 1,077
Записей в блоге: 1
30.10.2012, 16:53     Подзабыл порядок #6
Да, внутри такого выражения отсутствуют sequence points.
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1234 / 983 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
30.10.2012, 16:57     Подзабыл порядок #7
Цитата Сообщение от ramybozy Посмотреть сообщение
Короче интересует, что по этому поводу говорит стандарт.
Он говорит, что если он ничего не говорит по этому поводу, то это оставляется на усмотрение реализации (читай: не определено). Конкретно по поводу порядка вычисления операндов и применения соответствующих побочных эффектов этих вычислений он ничего не говорит.

Побочные эффекты гарантированно отрабатывают в so called sequence points. Присваивание ей не является. Ими являются точки с запятой (концы полных выражений), вход и выход в функцию (перегруженные операторы считаются функциями), а также операторы &&, ||, оператор запятая и конец вычисления условия в тернарном операторе.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.10.2012, 17:00     Подзабыл порядок
Еще ссылки по теме:

C++ Порядок перестановок
C++ Лексикографический порядок
Порядок байтов C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
ramybozy
8 / 8 / 0
Регистрация: 01.07.2012
Сообщений: 138
30.10.2012, 17:00  [ТС]     Подзабыл порядок #8
Короче всем спасибо, понял, что лучше такого не пытаться изображать, потому как опасно слишком.
Yandex
Объявления
30.10.2012, 17:00     Подзабыл порядок
Ответ Создать тему
Опции темы

Текущее время: 18:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru