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

Order of evaluation - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Функция , которая перезапускает проект http://www.cyberforum.ru/cpp-beginners/thread1774494.html
Подскажите есть команда или ф-Ия которая перезапускает проект заного Завершает текущий проект и открывает его заного Спасибо
C++ Использование стороннего контейнера Помогите из этого кода, сделать нормальную прогу #ifndef _GLIBCXX_ARRAY #define _GLIBCXX_ARRAY 1 #pragma GCC system_header #if __cplusplus < 201103L # include <bits/c++0x_warning.h> #else http://www.cyberforum.ru/cpp-beginners/thread1774493.html
Доступ к данным при наследовании C++
здравствуйте, есть иерархия классов, схематично можно представить так: namespace Singl { class CObs {}; template<typename T> class A { public: virtual ~A() { delete variables; } static T* Instance() {
C++ Распознавание слов в аудиофайле. С чего начать?
Здравствуйте уважаемые! Передо мной встала задача написать программу которая будет брать аудиофайл(предположительно в wav) и искать в нём некие слова. С такой областью разработки я ещё не сталкивался, поэтому прошу помощи, с чего мне начать? Что прочесть? Спасибо!
C++ Найти ранг матрицы http://www.cyberforum.ru/cpp-beginners/thread1774461.html
Найти ранг прямоугольной матрицы A(m,n) методом Гаусса.Покажите пожалуйста на примере как реализовать это , заранее благодарю .
C++ Центр тяжести выпуклого многоугольника Итак народ , необходимо найти центр тяжести выпуклого многоугольника заданного своими вершинами в порядке обхода по часовой стрелке ... подробнее

Показать сообщение отдельно
ASCII
 Аватар для ASCII
82 / 54 / 8
Регистрация: 15.12.2013
Сообщений: 370
Завершенные тесты: 2
02.07.2016, 00:37     Order of evaluation
Всем привет. Никак не могу побороть Order of evaluation. В статье на cppreference, приводятся примеры UB и уже на первом я застреваю и не понимаю почему именно так:

If a side effect on a scalar object is unsequenced relative to another side effect on the same scalar object, the behavior is undefined.
Если побочный эффект для скалярного объекта не упорядочен по отношению к другому побочному эффекту для этого же объекта - поведение не определено

C++
1
i = ++i + i++; // undefined behavior
Собственно тут я не знаю как мыслить. Как подобного рода UB находить в программах? Я пытался применять правила, которые описаны в Secuenced before rule, но ими я не смог объяснить UB приведенного выше примера.

Собственно для примера выше пытался применить правила:

2) The value computations (but not the side-effects) of the operands to any operator are sequenced before the value computation of the result of the operator (but not its side-effects).
-------------------------------------------------------------------------------------------
Вычисление значений (но не побочных эффектов) операндов любого оператора расположены перед вычислением значения оператора в целом (но не его побочного эффекта)

8) The side effect (modification of the left argument) of the built-in assignment operator and of all built-in compound assignment operators is sequenced after the value computation (but not the side effects) of both left and right arguments, and is sequenced before the value computation of the assignment expression (that is, before returning the reference to the modified object)
-------------------------------------------------------------------------------------------
Побочный эффект (изменение левого аргумента) встроенного оператора присваивания и всех встроенных составных операторов присваивания расположены после вычисления значения (но не побочного эффекта) обоих аргументов (левого и правого) и расположены перед вычислением значения оператора присваивания (т.е. перед возвращением ссылки на измененный объект)


Но не нашел противоречий. Помогите понять это. Возможно на примере других выражений.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 22:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru