<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=408585&amp;view=findpost&amp;p=3669494</guid>
        <pubDate>Thu, 12 May 2016 06:22:15 +0000</pubDate>
        <title>Как настроить отладку в VS для наблюдения за операциями декремента и инкремента?</title>
        <link>https://forum.sources.ru/index.php?showtopic=408585&amp;view=findpost&amp;p=3669494</link>
        <description><![CDATA[Bas: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=408585&view=findpost&p=3669408'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>shm &#064; <time class="tag-quote__quoted-time" datetime="2016-05-11T19:11:39+03:00">11.05.16, 16:11</time></span><div class='quote '>Выше постом OpenGL ответил абсолютно исчерпывающе.</div></div><br>
А теперь освежим прочитаное - тесты от исходников.ру<br>
<a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=59178&hl=%D0%BF%D0%BE%D1%81%D1%82%D1%84%D0%B8%D0%BA%D1%81%D0%BD%D1%8B%D0%B9' target='_blank'>Мини-тест, Освежи свои знания.</a><br>
<a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=59254&hl=%D0%BF%D0%BE%D1%81%D1%82%D1%84%D0%B8%D0%BA%D1%81%D0%BD%D1%8B%D0%B9' target='_blank'>Мини-тест-B</a><br>
<a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=59296&hl=%D0%BF%D0%BE%D1%81%D1%82%D1%84%D0%B8%D0%BA%D1%81%D0%BD%D1%8B%D0%B9' target='_blank'> Мини-тест С, Дабы окончательно разобраться</a><br>
<a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=35945&hl=%D0%BF%D0%BE%D1%81%D1%82%D1%84%D0%B8%D0%BA%D1%81%D0%BD%D1%8B%D0%B9' target='_blank'> Конфуз</a>]]></description>
        <author>Bas</author>
        <category>C/C++: Прочее</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=408585&amp;view=findpost&amp;p=3669408</guid>
        <pubDate>Wed, 11 May 2016 16:11:39 +0000</pubDate>
        <title>Как настроить отладку в VS для наблюдения за операциями декремента и инкремента?</title>
        <link>https://forum.sources.ru/index.php?showtopic=408585&amp;view=findpost&amp;p=3669408</link>
        <description><![CDATA[shm: <strong class='tag-b'>southern</strong>, цель какая? <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2016-05-11T16:12:18+00:00">11.05.16, 16:12</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=408585&view=findpost&p=3669363'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Bas &#064; <time class="tag-quote__quoted-time" datetime="2016-05-11T13:50:50+00:00">11.05.16, 13:50</time></span><div class='quote '>Надо знать какой приоритет операций у компилятора</div></div><br>
Выше постом <strong class='tag-b'>OpenGL</strong> ответил абсолютно исчерпывающе.]]></description>
        <author>shm</author>
        <category>C/C++: Прочее</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=408585&amp;view=findpost&amp;p=3669399</guid>
        <pubDate>Wed, 11 May 2016 15:39:07 +0000</pubDate>
        <title>Как настроить отладку в VS для наблюдения за операциями декремента и инкремента?</title>
        <link>https://forum.sources.ru/index.php?showtopic=408585&amp;view=findpost&amp;p=3669399</link>
        <description><![CDATA[amk: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=408585&view=findpost&p=3669363'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Bas &#064; <time class="tag-quote__quoted-time" datetime="2016-05-11T13:50:50+00:00">11.05.16, 13:50</time></span><div class='quote '>Надо знать какой приоритет операций у компилятора. Например C# и С++ дают разный  результаты.</div></div> Это зависит не от приоритета операций. К тому же в C++ и C# <strong class='tag-b'>конкретно эти</strong> операции имеют сходные приоритеты.]]></description>
        <author>amk</author>
        <category>C/C++: Прочее</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=408585&amp;view=findpost&amp;p=3669363</guid>
        <pubDate>Wed, 11 May 2016 13:50:50 +0000</pubDate>
        <title>Как настроить отладку в VS для наблюдения за операциями декремента и инкремента?</title>
        <link>https://forum.sources.ru/index.php?showtopic=408585&amp;view=findpost&amp;p=3669363</link>
        <description><![CDATA[Bas: Надо знать какой приоритет операций у компилятора. Например C# и С++ дают разный  результаты.]]></description>
        <author>Bas</author>
        <category>C/C++: Прочее</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=408585&amp;view=findpost&amp;p=3669351</guid>
        <pubDate>Wed, 11 May 2016 13:26:05 +0000</pubDate>
        <title>Как настроить отладку в VS для наблюдения за операциями декремента и инкремента?</title>
        <link>https://forum.sources.ru/index.php?showtopic=408585&amp;view=findpost&amp;p=3669351</link>
        <description><![CDATA[OpenGL: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=408585&view=findpost&p=3665132'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>southern &#064; <time class="tag-quote__quoted-time" datetime="2016-04-10T16:32:38+00:00">10.04.16, 16:32</time></span><div class='quote '>x = x + x++;</div></div><br>
Это <a class='tag-url' href='http://alenacpp.blogspot.ru/2005/11/sequence-points.html' target='_blank'>неопределённое поведение</a>.]]></description>
        <author>OpenGL</author>
        <category>C/C++: Прочее</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=408585&amp;view=findpost&amp;p=3665138</guid>
        <pubDate>Sun, 10 Apr 2016 17:01:34 +0000</pubDate>
        <title>Как настроить отладку в VS для наблюдения за операциями декремента и инкремента?</title>
        <link>https://forum.sources.ru/index.php?showtopic=408585&amp;view=findpost&amp;p=3665138</link>
        <description><![CDATA[amk: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=408585&view=findpost&p=3665132'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>southern &#064; <time class="tag-quote__quoted-time" datetime="2016-04-10T16:32:38+00:00">10.04.16, 16:32</time></span><div class='quote '>Когда наблюдаю в отладчике за переменной x, то на строке x = x + x++; x сразу становится равным 3. </div></div> Потому что отладчик сперва полностью выполняет оператор, и только потом делает останов, показывая содержимое переменных.<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=408585&view=findpost&p=3665132'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>southern &#064; <time class="tag-quote__quoted-time" datetime="2016-04-10T16:32:38+00:00">10.04.16, 16:32</time></span><div class='quote '>Что сделать, чтобы увидеть конкретную последовательность действий где стало 2, а где 3, если это возможно.</div></div> В отладчике нет просмотра кода? Там можно посмотреть сгенерированную последовательность команд.<br>
<br>
В современных компиляторах такая операция обычно даёт результаты, аналогичные последовательности <div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">x = x + x;</div><div class="code_line">x++;</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script> то есть сперва выполняются все преинкременты/декременты, потом вычисления производятся так, будто никаких инкрементов/декрементов нет, и под конец производятся все постинкременты/декременты.<br>
подозреваю, что <div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">x = ++x + x++;</div></ol></div></div></div></div> даст в результате 5.<br>
<br>
При вычислении выражения производится только инкремент/декремент указателей, когда он поддерживается аппаратно.]]></description>
        <author>amk</author>
        <category>C/C++: Прочее</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=408585&amp;view=findpost&amp;p=3665134</guid>
        <pubDate>Sun, 10 Apr 2016 16:44:20 +0000</pubDate>
        <title>Как настроить отладку в VS для наблюдения за операциями декремента и инкремента?</title>
        <link>https://forum.sources.ru/index.php?showtopic=408585&amp;view=findpost&amp;p=3665134</link>
        <description><![CDATA[Славян: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=408585&view=findpost&p=3665132'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>southern &#064; <time class="tag-quote__quoted-time" datetime="2016-04-10T16:32:38+00:00">10.04.16, 16:32</time></span><div class='quote '>Что сделать, чтобы увидеть конкретную последовательность действий где стало 2, а где 3, если это возможно.</div></div>Поставить точку отладки на интересующую вас строку, а потом нажать Alt+8 или в глобальном меню выбрать Отладка&#092;Окна&#092;Дизассемблированный код. (если у вас русифицирована :blush: )]]></description>
        <author>Славян</author>
        <category>C/C++: Прочее</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=408585&amp;view=findpost&amp;p=3665132</guid>
        <pubDate>Sun, 10 Apr 2016 16:32:38 +0000</pubDate>
        <title>Как настроить отладку в VS для наблюдения за операциями декремента и инкремента?</title>
        <link>https://forum.sources.ru/index.php?showtopic=408585&amp;view=findpost&amp;p=3665132</link>
        <description><![CDATA[southern: <div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">#include &#60;stdio.h&#62;</div><div class="code_line">void main()</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;int x = 1;</div><div class="code_line">&nbsp;&nbsp; &nbsp;x = x + x++;</div><div class="code_line">&nbsp;&nbsp; &nbsp;printf(&quot;%d&quot;, x);</div><div class="code_line">&nbsp;&nbsp; &nbsp;scanf_s(&quot;%d&quot;, &amp;x);</div><div class="code_line">}</div></ol></div></div></div></div><br>
<br>
Когда наблюдаю в отладчике за переменной x, то на строке x = x + x++; x сразу становится равным 3. Что сделать, чтобы увидеть конкретную последовательность действий где стало 2, а где 3, если это возможно.]]></description>
        <author>southern</author>
        <category>C/C++: Прочее</category>
      </item>
	
      </channel>
      </rss>
	