<?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=402078&amp;view=findpost&amp;p=3625314</guid>
        <pubDate>Sat, 19 Sep 2015 12:02:53 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3625314</link>
        <description><![CDATA[Qraizer: Как бы да. :blush: Изменение str посредством += избыточно, т.к. не более чем помогает сэкономить одну итерацию. Основной фильтр пробелов осуществляется в += для p в заголовке цикла. Если предположить, что записи str перемешаются, то на пробеле всего лишь не сэкономится итерация. Однако не на пробеле цикл зациклится, и это будет явный фэйл.<br>Вот я и думаю, может ли тут компилятор перемешать записи в str. Что-то я запутался в статьях Стандарта.]]></description>
        <author>Qraizer</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3625000</guid>
        <pubDate>Thu, 17 Sep 2015 18:39:59 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3625000</link>
        <description><![CDATA[negram: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3624050'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Qraizer &#064; <time class="tag-quote__quoted-time" datetime="2015-09-11T16:32:09+00:00">11.09.15, 16:32</time></span><div class='quote '>но рефлекс теперь уже говорит, что тут нет UB.</div></div>он это как-нибудь аргументирует?]]></description>
        <author>negram</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3624167</guid>
        <pubDate>Sat, 12 Sep 2015 16:28:38 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3624167</link>
        <description><![CDATA[Qraizer: Я-то думал, это известно любому студенту как минимум.<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <span class='tag-quote__quote-info'>4.12 Boolean conversions</span><div class='quote '>1 A prvalue of arithmetic, unscoped enumeration, pointer, or pointer to member type can be converted to a prvalue of type bool. A zero value, null pointer value, or null member pointer value is converted to false; any other value is converted to true. A prvalue of type std::nullptr_t can be converted to a prvalue of type bool; the resulting value is false.</div></div><div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <span class='tag-quote__quote-info'>4.5 Integral promotions</span><div class='quote '>6 A prvalue of type bool can be converted to a prvalue of type int, with false becoming zero and true becoming one.</div></div>]]></description>
        <author>Qraizer</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3624164</guid>
        <pubDate>Sat, 12 Sep 2015 15:51:17 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3624164</link>
        <description><![CDATA[amk: Тип bool вообще-то существует в двух ипостасях. Один - это обычно результат сравнения. Фактически это даже не данные, а точка перехода в программе. Такой bool при преобразовании однозначно переводится в числа 0 и 1. И такие же значения запоминаются в переменных. В Си результатами сравнений и логических операций были целые 0 и 1. В некоторых языках не так, и логические операции могут применяться к любым данным, давая результат соответствующего типа<br>Второй bool - это результат преобразования значения произвольного типа в логическое значение. Формально это результат выражения (v&#33;=0), и компилятор должен привести результат к той же паре чисел. По крайней мере для сохранения читаемости программ следует заменять все ненулевые значения на 1. Так ли это в стандарте?]]></description>
        <author>amk</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3624138</guid>
        <pubDate>Sat, 12 Sep 2015 09:38:40 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3624138</link>
        <description><![CDATA[D_KEY: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3624122'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Kray74 &#064; <time class="tag-quote__quoted-time" datetime="2015-09-12T07:40:02+00:00">12.09.15, 07:40</time></span><div class='quote '>true=1</div></div><br>
Можно пруф?]]></description>
        <author>D_KEY</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3624122</guid>
        <pubDate>Sat, 12 Sep 2015 07:40:02 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3624122</link>
        <description><![CDATA[Kray74: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3624045'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Славян &#064; <time class="tag-quote__quoted-time" datetime="2015-09-11T16:07:56+00:00">11.09.15, 16:07</time></span><div class='quote '>Я тоже подумал, что кто-то реализует char в каком-нибудь контроллере как столько-то байтовый, а bool как столько-то. И понеслось...</div></div><br>
Не понеслось. bool преобразуется к целочисленному типу (false=0, true=1) и складывается с указателем. Размеры char и bool не играют никакой роли.]]></description>
        <author>Kray74</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3624050</guid>
        <pubDate>Fri, 11 Sep 2015 16:32:09 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3624050</link>
        <description><![CDATA[Qraizer: <strong class='tag-b'>D_KEY</strong>, видишь ли... ты будешь смеяться, наверно... да и не только ты. Прикол в том, что это самое UB в выражениях у меня уже в рефлексах. Когда это написал, вообще не думал ни о чём. И вдруг спустя пару минут увидел двойное изменение str. Удивился, почему рефлекс не сработал. Смотрел внимательно, вроде всё на месте... но рефлекс теперь уже говорит, что тут нет UB.<br>
Как-то так, в общем... :wub:]]></description>
        <author>Qraizer</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3624045</guid>
        <pubDate>Fri, 11 Sep 2015 16:07:56 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3624045</link>
        <description><![CDATA[Славян: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3624025'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Qraizer &#064; <time class="tag-quote__quoted-time" datetime="2015-09-11T15:27:08+00:00">11.09.15, 15:27</time></span><div class='quote '>Это всё не попадает под неопределённое поведение</div></div>Согласен. Просто мысли такие были. :blush: <br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3624025'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Qraizer &#064; <time class="tag-quote__quoted-time" datetime="2015-09-11T15:27:08+00:00">11.09.15, 15:27</time></span><div class='quote '>А вот двойное изменение str во второй строке теоретически попадает. Однако у меня такое впечатление, что конкретно тут неопределённого поведения всё-таки нет.</div></div>Я тоже подумал, что кто-то реализует <strong class='tag-b'>char</strong> в каком-нибудь контроллере как столько-то байтовый, а <strong class='tag-b'>bool</strong> как столько-то. И понеслось... Но, в x86 ГОСТе, всё пока нормуль. :yes:]]></description>
        <author>Славян</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3624040</guid>
        <pubDate>Fri, 11 Sep 2015 15:56:08 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3624040</link>
        <description><![CDATA[D_KEY: В любом случае это говнокод. Да и ситуации, когда приходится разбирать, UB тут или нет, уже как правило не лучше UB.]]></description>
        <author>D_KEY</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3624025</guid>
        <pubDate>Fri, 11 Sep 2015 15:27:08 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3624025</link>
        <description><![CDATA[Qraizer: Это всё не попадает под неопределённое поведение, <strong class='tag-b'>Славян</strong>. А вот двойное изменение str во второй строке теоретически попадает. Однако у меня такое впечатление, что конкретно тут неопределённого поведения всё-таки нет.]]></description>
        <author>Qraizer</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3624016</guid>
        <pubDate>Fri, 11 Sep 2015 15:05:16 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3624016</link>
        <description><![CDATA[Славян: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3623864'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Qraizer &#064; <time class="tag-quote__quoted-time" datetime="2015-09-11T02:25:16+00:00">11.09.15, 02:25</time></span><div class='quote '>есть или нет в этом решении неопределённое поведение?</div></div>Такие мысли:<br>
1.<em class='tag-i'>str</em> может портиться (меняться), а вначале подумалось, что ввод &#39;p&#39; избавит от этого. :&#39;( <br>
2.К <strong class='tag-b'>char*</strong> добавляется <strong class='tag-b'>bool</strong>, что как бы не шибко красиво. :unsure:]]></description>
        <author>Славян</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3623864</guid>
        <pubDate>Fri, 11 Sep 2015 02:25:16 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3623864</link>
        <description><![CDATA[Qraizer: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Дана строка символов. Напишите цикл, за один проход удаляющий из неё все пробелы.</div></div>Решение под спойлером, если вдруг кто захочет сам попробовать написать.<div class="tag-spoiler spoiler closed"><div class="spoiler_header" onclick="openCloseParent(this)">Скрытый текст</div><div class="body"><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">for (char *p = str; *p != &#39;{text}&#39;; p += *p!=&#39; &#39;)</div><div class="code_line">&nbsp;&nbsp;*p = *(str += *str==&#39; &#39;)++;</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script></div></div>Но меня интересует другой аспект: есть или нет в этом решении неопределённое поведение?]]></description>
        <author>Qraizer</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3616453</guid>
        <pubDate>Tue, 04 Aug 2015 08:20:46 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3616453</link>
        <description><![CDATA[applegame: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3616446'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Бобёр &#064; <time class="tag-quote__quoted-time" datetime="2015-08-04T07:38:56+00:00">04.08.15, 07:38</time></span><div class='quote '>Иногда хочется поиграться разрядностью помимо стандартных способов. Ну, в общем, эдакое поле для экспериментов в общем. </div></div>А можно пример таких игр?]]></description>
        <author>applegame</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3616446</guid>
        <pubDate>Tue, 04 Aug 2015 07:38:56 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3616446</link>
        <description><![CDATA[Бобёр: Иногда хочется поиграться разрядностью помимо стандартных способов. Ну, в общем, эдакое поле для экспериментов в общем.]]></description>
        <author>Бобёр</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3616433</guid>
        <pubDate>Tue, 04 Aug 2015 06:26:45 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3616433</link>
        <description><![CDATA[applegame: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3616382'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>D_KEY &#064; <time class="tag-quote__quoted-time" datetime="2015-08-03T17:28:36+00:00">03.08.15, 17:28</time></span><div class='quote '>Ну, видимо, с авторами что-то не так :(</div></div>Я тоже так думаю.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3616419'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Kray74 &#064; <time class="tag-quote__quoted-time" datetime="2015-08-04T02:29:33+00:00">04.08.15, 02:29</time></span><div class='quote '>Может им важна разрядность типов. Если будут портировать проект на платформу с не 32-разрядным int, меньше изменений делать. </div></div>Я же написал - обычный писюк. А для точной разрядности давно уже введены соответствующие типы - <a class='tag-url' href='http://www.cplusplus.com/reference/cstdint/' target='_blank'>http://www.cplusplus.com/reference/cstdint/</a>]]></description>
        <author>applegame</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3616419</guid>
        <pubDate>Tue, 04 Aug 2015 02:29:33 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3616419</link>
        <description><![CDATA[Kray74: Может им важна разрядность типов. Если будут портировать проект на платформу с не 32-разрядным int, меньше изменений делать.]]></description>
        <author>Kray74</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3616382</guid>
        <pubDate>Mon, 03 Aug 2015 17:28:36 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3616382</link>
        <description><![CDATA[D_KEY: Новый проект?<br><br>Ну, видимо, с авторами что-то не так :(]]></description>
        <author>D_KEY</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3616380</guid>
        <pubDate>Mon, 03 Aug 2015 17:14:02 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3616380</link>
        <description><![CDATA[applegame: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3616376'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Qraizer &#064; <time class="tag-quote__quoted-time" datetime="2015-08-03T17:02:46+00:00">03.08.15, 17:02</time></span><div class='quote '>Например, порт проекта на старый компиль.<br>
<br>
Добавлено 6 минут назад<br>
Или на недокомпиль для микроконтроллера. Или даже наноконтрольчика. </div></div>Нет, это граф-двиг для обычного писюка. Порт ни на какие древние компили не задумывался.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3616379'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Бобёр &#064; <time class="tag-quote__quoted-time" datetime="2015-08-03T17:08:45+00:00">03.08.15, 17:08</time></span><div class='quote '>А вообще так многие делают. Например, glib.<br>
&quot;ядро&quot; - на plain-C без прикрас, а зато потом каждый сможет замутить биндинг под любой язык - и наслаждаться. </div></div>Если бы это была сяшечка или древний прожект я бы понял, но тут C++ и 2015-год.]]></description>
        <author>applegame</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3616379</guid>
        <pubDate>Mon, 03 Aug 2015 17:08:45 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3616379</link>
        <description><![CDATA[Бобёр: А вообще так многие делают. Например, glib. <br>&quot;ядро&quot; - на plain-C без прикрас, а зато потом каждый сможет замутить биндинг под любой язык - и наслаждаться.]]></description>
        <author>Бобёр</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3616376</guid>
        <pubDate>Mon, 03 Aug 2015 17:02:46 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3616376</link>
        <description><![CDATA[Qraizer: Например, порт проекта на старый компиль. <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="2015-08-03T17:03:31+00:00">03.08.15, 17:03</time></span></span><br>
Или на недокомпиль для микроконтроллера. Или даже наноконтрольчика.]]></description>
        <author>Qraizer</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3616361</guid>
        <pubDate>Mon, 03 Aug 2015 15:59:21 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3616361</link>
        <description><![CDATA[Славян: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3616354'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>applegame &#064; <time class="tag-quote__quoted-time" datetime="2015-08-03T15:46:55+00:00">03.08.15, 15:46</time></span><div class='quote '>Для кого неймспейсы придуманы?</div></div>Для ++ного случая, а так - вроде как чистая Си&#39;шность сохранена. :jokingly:]]></description>
        <author>Славян</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3616354</guid>
        <pubDate>Mon, 03 Aug 2015 15:46:55 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3616354</link>
        <description><![CDATA[applegame: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3616347'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Славян &#064; <time class="tag-quote__quoted-time" datetime="2015-08-03T15:22:58+00:00">03.08.15, 15:22</time></span><div class='quote '>Не может быть, чтобы там были &quot;точка с запятой&quot; в конце строки&#33; Или неужто на самом деле есть? :blink: :blink:</div></div>Нет точек с запятой там нет, исправил. <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="2015-08-03T15:47:47+00:00">03.08.15, 15:47</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3616342'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Бобёр &#064; <time class="tag-quote__quoted-time" datetime="2015-08-03T15:17:33+00:00">03.08.15, 15:17</time></span><div class='quote '>это для переносимости я так думаю. Правда, true и false - это слишком :)</div></div>Для какой переносимости? Это же <strong class='tag-b'>встроенные</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="2015-08-03T15:49:03+00:00">03.08.15, 15:49</time></span></span><br>
И еще эти убогие префиксы CX. Для кого неймспейсы придуманы?]]></description>
        <author>applegame</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3616351</guid>
        <pubDate>Mon, 03 Aug 2015 15:42:57 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3616351</link>
        <description><![CDATA[Славян: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3616348'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Бобёр &#064; <time class="tag-quote__quoted-time" datetime="2015-08-03T15:34:24+00:00">03.08.15, 15:34</time></span><div class='quote '>я так понимаю там тоже typedef.</div></div> :blink: А как именно вы понимаете? Так? :<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">typedef true CX_TRUE;</div></ol></div></div></div></div>Но так вообще ошибки при компиляции выдаёт.]]></description>
        <author>Славян</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3616348</guid>
        <pubDate>Mon, 03 Aug 2015 15:34:24 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3616348</link>
        <description><![CDATA[Бобёр: я так понимаю там тоже typedef.]]></description>
        <author>Бобёр</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3616347</guid>
        <pubDate>Mon, 03 Aug 2015 15:22:58 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3616347</link>
        <description><![CDATA[Славян: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3616332'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>applegame &#064; <time class="tag-quote__quoted-time" datetime="2015-08-03T15:03:25+00:00">03.08.15, 15:03</time></span><div class='quote '>Вот это волшебство я вообще не осиливаю.</div></div>Не может быть, чтобы там были &quot;точка с запятой&quot; в конце строки&#33; Или неужто на самом деле есть? :blink:  :blink:]]></description>
        <author>Славян</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3616342</guid>
        <pubDate>Mon, 03 Aug 2015 15:17:33 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3616342</link>
        <description><![CDATA[Бобёр: это для переносимости я так думаю. Правда, true и false - это слишком :)]]></description>
        <author>Бобёр</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3616332</guid>
        <pubDate>Mon, 03 Aug 2015 15:03:25 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3616332</link>
        <description><![CDATA[applegame: Объясните мне накой писать в C++ проекте 2015 года такое говно?<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">typedef signed short СXShort;</div><div class="code_line">typedef unsigned short СXUShort;</div><div class="code_line">typedef signed int СXInt;</div><div class="code_line">...</div></ol></div></div></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">#define СX_TRUE &nbsp;true</div><div class="code_line">#define СX_FALSE false</div></ol></div></div></div></div><br>
<br>
Как будто вернулся в девяностые.]]></description>
        <author>applegame</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3611033</guid>
        <pubDate>Mon, 06 Jul 2015 13:36:35 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3611033</link>
        <description><![CDATA[korvin: Кстати, <a class='tag-url' href='http://habrahabr.ru/post/130370/' target='_blank'>про финализаторы</a> (в Java, но, думаю, в какой-то степени, это и к C# относится).]]></description>
        <author>korvin</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3606924</guid>
        <pubDate>Sun, 14 Jun 2015 23:34:38 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3606924</link>
        <description><![CDATA[D_KEY: Наследование интерфейсов было всегда. В 8ой яве добавили реализацию методов интерфейсов по умолчанию.]]></description>
        <author>D_KEY</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3606916</guid>
        <pubDate>Sun, 14 Jun 2015 21:21:14 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3606916</link>
        <description><![CDATA[settler: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3599581'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>JoeUser &#064; <time class="tag-quote__quoted-time" datetime="2015-05-12T09:56:49+00:00">12.05.15, 09:56</time></span><div class='quote '>&quot;в Цэ++ уже давно есть множественное наследование, а в таких языках как Джава и .NET их нет,</div></div><br>
в 8-ой есть, хотя не такой как в С++<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">public class MyClass implements InterfaceA, InterfaceB {</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;/**</div><div class="code_line">&nbsp;&nbsp; &nbsp; * @param args the command line arguments</div><div class="code_line">&nbsp;&nbsp; &nbsp; */</div><div class="code_line">&nbsp;&nbsp; &nbsp;public static void main(String[] args) {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;// TODO code application logic here</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;@Override</div><div class="code_line">&nbsp;&nbsp; &nbsp;public void saySomething() {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;System.out.println(&quot;Hello World&quot;);</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;@Override</div><div class="code_line">&nbsp;&nbsp; &nbsp;public void sayHi() {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; InterfaceA.super.sayHi();</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;</div><div class="code_line">}</div><div class="code_line">&nbsp;</div><div class="code_line">interface InterfaceA {</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;public void saySomething();</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;default public void sayHi() {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;System.out.println(&quot;Hi from InterfaceA&quot;);</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;</div><div class="code_line">}</div><div class="code_line">&nbsp;</div><div class="code_line">interface InterfaceB {</div><div class="code_line">&nbsp;&nbsp; &nbsp; default public void sayHi() {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;System.out.println(&quot;Hi from InterfaceB&quot;);</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">}</div></ol></div></div></div></div>]]></description>
        <author>settler</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3606506</guid>
        <pubDate>Thu, 11 Jun 2015 19:04:30 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3606506</link>
        <description><![CDATA[D_KEY: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3606366'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>wind &#064; <time class="tag-quote__quoted-time" datetime="2015-06-11T09:12:33+00:00">11.06.15, 09:12</time></span><div class='quote '><div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3606241'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>D_KEY &#064; <time class="tag-quote__quoted-time" datetime="2015-06-10T17:11:25+00:00">10.06.15, 17:11</time></span><div class='quote '>a это ресурс или нет? Если нет, то что изменится, если a станет ресурсом?</div></div><br>
Я должен буду знать, что его нужно как-нибудь побыстрее освободить, капитан.</div></div><br>
Так ты кодом покажи. Что изменится?]]></description>
        <author>D_KEY</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3606415</guid>
        <pubDate>Thu, 11 Jun 2015 12:35:18 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3606415</link>
        <description><![CDATA[MyNameIsIgor: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3606366'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>wind &#064; <time class="tag-quote__quoted-time" datetime="2015-06-11T09:12:33+00:00">11.06.15, 09:12</time></span><div class='quote '><div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3606241'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>D_KEY &#064; <time class="tag-quote__quoted-time" datetime="2015-06-10T17:11:25+00:00">10.06.15, 17:11</time></span><div class='quote '>a это ресурс или нет? Если нет, то что изменится, если a станет ресурсом?</div></div><br>
Я должен буду знать, что его нужно как-нибудь побыстрее освободить, капитан.</div></div><br>
При детерминированном уничтожении объектов все они живут ровно столько, сколько в них есть необходимость.<br>
Ещё раз говорю - неопределённость возникает именно при сборщике мусора, которые за ресурсом &quot;память&quot; следит по-особому. В C++ за памятью следят точно так же, как и за файлами и соединениями с БД. Потому, если какой-то класс помимо памяти ещё и открывает файл, это не приводит к изменению кода, который его использует.]]></description>
        <author>MyNameIsIgor</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3606414</guid>
        <pubDate>Thu, 11 Jun 2015 12:26:47 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3606414</link>
        <description><![CDATA[D_KEY: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3606405'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>wind &#064; <time class="tag-quote__quoted-time" datetime="2015-06-11T12:01:09+00:00">11.06.15, 12:01</time></span><div class='quote '><div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3606390'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>D_KEY &#064; <time class="tag-quote__quoted-time" datetime="2015-06-11T11:08:28+00:00">11.06.15, 11:08</time></span><div class='quote '>Зачем? Что значит побыстрее? А обычные объекты ты держишь подольше? Зачем?</div></div><br>
Затем чтобы не отковыривать проблемы через месяцы/годы после сдачи проекта</div></div><br>
Ты можешь быть более конкретным?]]></description>
        <author>D_KEY</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3606405</guid>
        <pubDate>Thu, 11 Jun 2015 12:01:09 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3606405</link>
        <description><![CDATA[wind: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3606390'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>D_KEY &#064; <time class="tag-quote__quoted-time" datetime="2015-06-11T11:08:28+00:00">11.06.15, 11:08</time></span><div class='quote '>Зачем? Что значит побыстрее? А обычные объекты ты держишь подольше? Зачем?</div></div><br>
Затем чтобы не отковыривать проблемы через месяцы/годы после сдачи проекта. Ты наверняка читал или слушал, например, общие рекомендации (за авторством любого опытного специалиста) при работе с транзакциями в СУБД. Вот воспроизведи про себя.]]></description>
        <author>wind</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3606390</guid>
        <pubDate>Thu, 11 Jun 2015 11:08:28 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3606390</link>
        <description><![CDATA[D_KEY: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3606366'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>wind &#064; <time class="tag-quote__quoted-time" datetime="2015-06-11T09:12:33+00:00">11.06.15, 09:12</time></span><div class='quote '><div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3606241'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>D_KEY &#064; <time class="tag-quote__quoted-time" datetime="2015-06-10T17:11:25+00:00">10.06.15, 17:11</time></span><div class='quote '>a это ресурс или нет? Если нет, то что изменится, если a станет ресурсом?</div></div><br>
Я должен буду знать, что его нужно как-нибудь побыстрее освободить, капитан.</div></div><br>
Зачем? Что значит побыстрее? А обычные объекты ты держишь подольше? Зачем?]]></description>
        <author>D_KEY</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3606366</guid>
        <pubDate>Thu, 11 Jun 2015 09:12:33 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3606366</link>
        <description><![CDATA[wind: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3606241'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>D_KEY &#064; <time class="tag-quote__quoted-time" datetime="2015-06-10T17:11:25+00:00">10.06.15, 17:11</time></span><div class='quote '>a это ресурс или нет? Если нет, то что изменится, если a станет ресурсом?</div></div><br>
Я должен буду знать, что его нужно как-нибудь побыстрее освободить, капитан.]]></description>
        <author>wind</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3606249</guid>
        <pubDate>Wed, 10 Jun 2015 17:52:03 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3606249</link>
        <description><![CDATA[korvin: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3606219'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>wind &#064; <time class="tag-quote__quoted-time" datetime="2015-06-10T15:59:48+00:00">10.06.15, 15:59</time></span><div class='quote '>1) И не работает, если объект поселили в статическую переменную и не разрушают никогда.<br>
<br>
2) Да, можно и шарики себе, в принципе, отстрелить, но такие экстремальные отклонения не рассматриваются.<br>
<br>
3) Ты, скорее всего не будешь оставлять &quot;висящие&quot; ресурсы в коде<br>
<br>
4) который ты понятия не имеешь как используют и будешь расширять класс, о котором <strong class='tag-b'>знают</strong> <br>
<br>
5) его инстанс в обязательном порядке надо грохнуть/закрыть после использования.</div></div><br>
1) А если бабушке пришить... Ну ты понял.<br>
<br>
2) Так никто и не рассматривает, приведённый мной пример вполне банален, типичен, «мейнстримен» для C++, никаких отклонений, тем более экстремальных, а ситуация вполне типична для любого ЯП.<br>
<br>
3) В примере нет никаких «висящих» ресурсов, что бы это не значило.<br>
<br>
4) Я имею право расширять/модифицировать класс как угодно, если это не нарушает его инвариантов (как раз в моём примере никакого нарушения нет), а в общем случае — не меняет его интерфейс. Ибо знают только интерфейс. В этом суть ООП, в знании только интерфейса и полагаться только на интерфейс.<br>
<br>
5) Он и так грохается обязательно. Автоматически. Правило симметрии вполне работает: конструктор — захват, деструктор — освобождение. <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="2015-06-10T17:59:43+00:00">10.06.15, 17:59</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3606227'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>MyNameIsIgor &#064; <time class="tag-quote__quoted-time" datetime="2015-06-10T16:15:39+00:00">10.06.15, 16:15</time></span><div class='quote '>В языках же со сборкой мусора появляется двойственность: объекты, которые потребляют только ресурс &quot;память&quot;, грохаются автоматически; а объекты, использующие какие-то ещё ресурсы, надо грохать руками.</div></div><br>
Это компромисс: «объекты, использующие только память» почти всегда количественно преобладают над остальными ресурсами, при чём, обычно, существенно.]]></description>
        <author>korvin</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3606241</guid>
        <pubDate>Wed, 10 Jun 2015 17:11:25 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3606241</link>
        <description><![CDATA[D_KEY: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3606121'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>wind &#064; <time class="tag-quote__quoted-time" datetime="2015-06-10T09:25:59+00:00">10.06.15, 09:25</time></span><div class='quote '>Если я использую класс, представляющий ресурс, я принципиально не могу не знать, что его нужно освобождать.</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">A a = ...;</div></ol></div></div></div></div><br>
a это ресурс или нет? Если нет, то что изменится, если a станет ресурсом?]]></description>
        <author>D_KEY</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3606227</guid>
        <pubDate>Wed, 10 Jun 2015 16:15:39 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3606227</link>
        <description><![CDATA[MyNameIsIgor: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3606219'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>wind &#064; <time class="tag-quote__quoted-time" datetime="2015-06-10T15:59:48+00:00">10.06.15, 15:59</time></span><div class='quote '>И не работает, если объект поселили в статическую переменную и не разрушают никогда</div></div><br>
Так и не предполагалось, что будет работать. Написано же<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3606205'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>korvin &#064; <time class="tag-quote__quoted-time" datetime="2015-06-10T15:07:58+00:00">10.06.15, 15:07</time></span><div class='quote '>Теперь мы хотим, чтобы кэш куда-то сохранялся в промежутке <strong class='tag-b'>между вызовами</strong> foo.</div></div><br>
А если вы сами сделали переменную неразрушаемой, то и смысла нет сохранять её состояние.<br>
<br>
А вот о чём мы тут говорим: в Java/C#/Python и подобном при таком изменении Cache пришлось бы менять код foo для использования конструкций try-with-resource/using/with и подобное. <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="2015-06-10T16:17:52+00:00">10.06.15, 16:17</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3606219'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>wind &#064; <time class="tag-quote__quoted-time" datetime="2015-06-10T15:59:48+00:00">10.06.15, 15:59</time></span><div class='quote '>знают - его инстанс в обязательном порядке надо грохнуть/закрыть после использования</div></div><br>
Вы не улавливаете суть. Дело в том, что в C++ все экземпляры надо &quot;грохнуть/закрыть после использования&quot;. В языках же со сборкой мусора появляется двойственность: объекты, которые потребляют только ресурс &quot;память&quot;, грохаются автоматически; а объекты, использующие какие-то ещё ресурсы, надо грохать руками.]]></description>
        <author>MyNameIsIgor</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3606219</guid>
        <pubDate>Wed, 10 Jun 2015 15:59:48 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3606219</link>
        <description><![CDATA[wind: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3606205'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>korvin &#064; <time class="tag-quote__quoted-time" datetime="2015-06-10T15:07:58+00:00">10.06.15, 15:07</time></span><div class='quote '>Теперь мы хотим, чтобы кэш куда-то сохранялся в промежутке между вызовами foo. Мы дописываем соответствующие действия сохранения и восстановления в деструктор и конструктор Cache соответственно и оно работает без изменения кода foo.</div></div><br>
И не работает, если объект поселили в статическую переменную и не разрушают никогда. Да, можно и шарики себе, в принципе, отстрелить, но такие экстремальные отклонения не рассматриваются. Ты, скорее всего не будешь оставлять &quot;висящие&quot; ресурсы в коде, который ты понятия не имеешь как используют и будешь расширять класс, о котором <strong class='tag-b'>знают</strong> - его инстанс в обязательном порядке надо грохнуть/закрыть после использования.]]></description>
        <author>wind</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3606205</guid>
        <pubDate>Wed, 10 Jun 2015 15:07:58 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3606205</link>
        <description><![CDATA[korvin: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3606167'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>wind &#064; <time class="tag-quote__quoted-time" datetime="2015-06-10T13:09:59+00:00">10.06.15, 13:09</time></span><div class='quote '>Нельзя не знать контракта класса, который ты используешь. А приведенный тобой пример как раз ярко иллюстрирует тот факт, что метод принадлежит вовсе не классу, представляющему ресурс, и в этом случае тебе действительно не нужно знать, каким образом и с какими ресурсами он связан.</div></div><br>
При чём тут контракт класса?<br>
<br>
Допустим, у нас имеется некоторый класс-хранилище (Cache) объектов в памяти и такой клиентский код:<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">void foo()</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;Cache c;</div><div class="code_line">&nbsp;&nbsp; &nbsp;// do many actions with cached objects</div><div class="code_line">}</div></ol></div></div></div></div><br>
<br>
Теперь мы хотим, чтобы кэш куда-то сохранялся в промежутке между вызовами foo. Мы дописываем соответствующие действия сохранения и восстановления в деструктор и конструктор Cache соответственно и оно работает без изменения кода foo. И foo вообще не нужно знать, как внутри устроен объект класса Cache, сохраняет он что-то куда-то (в более постоянное место в памяти, БД, файлы, в т.ч. и сетевые) или нет. Абстракция, ООП. В случае с языком с GC, нам нужно явно вызывать какой-нибудь метод Cache::close(), которого могло не быть в изначальном интерфейсе класса Cache, и соответственно не быть его вызова в foo, ведь в начале предполагалось, что Cache хранит свои объекты просто в (своей) памяти, которая становится не нужна после выхода из foo, а следовательно и нечего о ней заботится, GC почистит. А вот транзакцию / сетевое соединение он так не закроет сам.]]></description>
        <author>korvin</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3606167</guid>
        <pubDate>Wed, 10 Jun 2015 13:09:59 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3606167</link>
        <description><![CDATA[wind: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3606154'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>MyNameIsIgor &#064; <time class="tag-quote__quoted-time" datetime="2015-06-10T11:47:13+00:00">10.06.15, 11:47</time></span><div class='quote '>Да легко можно не знать.</div></div><br>
Нельзя не знать контракта класса, который ты используешь. А приведенный тобой пример как раз ярко иллюстрирует тот факт, что метод принадлежит вовсе не классу, представляющему ресурс, и в этом случае тебе действительно не нужно знать, каким образом и с какими ресурсами он связан.]]></description>
        <author>wind</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3606154</guid>
        <pubDate>Wed, 10 Jun 2015 11:47:13 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3606154</link>
        <description><![CDATA[MyNameIsIgor: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3606121'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>wind &#064; <time class="tag-quote__quoted-time" datetime="2015-06-10T09:25:59+00:00">10.06.15, 09:25</time></span><div class='quote '>Хотя тут та же самая ситуация. Я должен точно знать, когда оно возвращается в пул, что я для этого должен сделать, не могу не знать.</div></div><br>
Да легко можно не знать. На C++<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">void foo()</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp;auto connection = pool.get();</div><div class="code_line">&nbsp;&nbsp;connection.exec(&quot;delete from idiots&quot;);</div><div class="code_line">}</div></ol></div></div></div></div><br>
Что там в деструкторе connection происходит - не моё дело.]]></description>
        <author>MyNameIsIgor</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3606121</guid>
        <pubDate>Wed, 10 Jun 2015 09:25:59 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3606121</link>
        <description><![CDATA[wind: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3606079'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>D_KEY &#064; <time class="tag-quote__quoted-time" datetime="2015-06-10T06:44:51+00:00">10.06.15, 06:44</time></span><div class='quote '>Взял из пула, вернул в пул</div></div><br>
Я говорил &quot;пишу&quot;, а не &quot;использую&quot;. Если я использую класс, представляющий ресурс, я принципиально не могу не знать, что его нужно освобождать. Здорово, если для этого не нужно много телодвижений. <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="2015-06-10T09:28:57+00:00">10.06.15, 09:28</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3606079'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>D_KEY &#064; <time class="tag-quote__quoted-time" datetime="2015-06-10T06:44:51+00:00">10.06.15, 06:44</time></span><div class='quote '>Взял из пула, вернул в пул</div></div><br>
Хотя тут та же самая ситуация. Я должен точно знать, когда оно возвращается в пул, что я для этого должен сделать, не могу не знать.]]></description>
        <author>wind</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3606079</guid>
        <pubDate>Wed, 10 Jun 2015 06:44:51 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3606079</link>
        <description><![CDATA[D_KEY: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3606062'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>wind &#064; <time class="tag-quote__quoted-time" datetime="2015-06-09T23:17:12+00:00">09.06.15, 23:17</time></span><div class='quote '>ну то есть когда я пишу пул соединений или пул потоков, то мне не интересно когда и как они закрываются?</div></div><br>
Взял из пула, вернул в пул(автоматически, через подсчет ссылок), что тебе ещё нужно знать?]]></description>
        <author>D_KEY</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3606062</guid>
        <pubDate>Tue, 09 Jun 2015 23:17:12 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3606062</link>
        <description><![CDATA[wind: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3606061'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>D_KEY &#064; <time class="tag-quote__quoted-time" datetime="2015-06-09T23:11:12+00:00">09.06.15, 23:11</time></span><div class='quote '>В C++ это вполне может быть делом класса, клиенту это знать не нужно.</div></div><br>
ну то есть когда я пишу пул соединений или пул потоков, то мне не интересно когда и как они закрываются?]]></description>
        <author>wind</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3606061</guid>
        <pubDate>Tue, 09 Jun 2015 23:11:12 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3606061</link>
        <description><![CDATA[D_KEY: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3606060'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>wind &#064; <time class="tag-quote__quoted-time" datetime="2015-06-09T23:00:47+00:00">09.06.15, 23:00</time></span><div class='quote '>Это вообще вопрос уровня API. При работе с ресурсами хочет пользователь знать или не очень, а придется</div></div><br>
А зачем? В C++ это вполне может быть делом класса, клиенту это знать не нужно.]]></description>
        <author>D_KEY</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3606060</guid>
        <pubDate>Tue, 09 Jun 2015 23:00:47 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3606060</link>
        <description><![CDATA[wind: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3606028'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>DarkEld3r &#064; <time class="tag-quote__quoted-time" datetime="2015-06-09T18:45:23+00:00">09.06.15, 18:45</time></span><div class='quote '>При этом клиентам, вероятно, вообще не надо знать, что я там использую внутри.</div></div><br>
Это вообще вопрос уровня API. При работе с ресурсами хочет пользователь знать или не очень, а придется. А тот кому не надо, использует API уровня <strong class='tag-b'>Чудо.сотворись()</strong>.]]></description>
        <author>wind</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3606032</guid>
        <pubDate>Tue, 09 Jun 2015 19:18:57 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3606032</link>
        <description><![CDATA[D_KEY: Мне почему-то кажется, что тут в большинстве случаев можно изолировать использование ресурса внутри метода... Иначе бы SomeClass изначально воспринимался как ресурс.<br>Впрочем допускаю, что иногда это неудобно.]]></description>
        <author>D_KEY</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3606028</guid>
        <pubDate>Tue, 09 Jun 2015 18:45:23 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3606028</link>
        <description><![CDATA[DarkEld3r: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3606018'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>D_KEY &#064; <time class="tag-quote__quoted-time" datetime="2015-06-09T17:23:02+00:00">09.06.15, 17:23</time></span><div class='quote '> Это не вопрос реализации... Может пример? </div></div><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">var a = new SomeClass(); </div><div class="code_line">a.someMethod();</div></ol></div></div></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">using (var a = new SomeClass())</div><div class="code_line">{ </div><div class="code_line">&nbsp;&nbsp; &nbsp;a.someMethod();</div><div class="code_line">}</div></ol></div></div></div></div><br>
<br>
При этом клиентам, вероятно, вообще не надо знать, что я там использую внутри. В С++, благодаря деструкторам, ничего менять не пришлось. Да, там тоже можно сделать new SomeClass и не позвать delete, но это уже другая проблема и с владением ресурсами она не связана. Да, я понимаю, что с ГЦ иначе и не сделать, но удобным оно от этого быть не начинает.]]></description>
        <author>DarkEld3r</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3606018</guid>
        <pubDate>Tue, 09 Jun 2015 17:23:02 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3606018</link>
        <description><![CDATA[D_KEY: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3605946'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>OpenGL &#064; <time class="tag-quote__quoted-time" datetime="2015-06-09T10:36:48+00:00">09.06.15, 10:36</time></span><div class='quote '><div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3605933'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>D_KEY &#064; <time class="tag-quote__quoted-time" datetime="2015-06-09T09:58:08+00:00">09.06.15, 09:58</time></span><div class='quote '>С каким счётчиком ссылок?  </div></div><br>
С тем, который можно добавить при реализации этих деструкторов в языке :)</div></div><br>
Ага... Т.е. ссылки иногда будут просто ссылками(и тогда GC), а иногда для них ведётся подсчет ссылок? А типы это будут другие? Сможем наследоваться от класса с деструтором? Сможем породить от &quot;обычного&quot; класса класс с деструктором? Сможем сделать поле класса с деструктором? Сможем в классе с деструктором сделать поле &quot;обычного&quot; класса? Как будем бороться с циклическими ссылками? Разрешим ли сборщику удалять группы зацикленных объектов? Разрешим ли переключение из режима вызова деструктора в обычный стиль с using/with? <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="2015-06-09T17:25:42+00:00">09.06.15, 17:25</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3605958'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>DarkEld3r &#064; <time class="tag-quote__quoted-time" datetime="2015-06-09T11:34:40+00:00">09.06.15, 11:34</time></span><div class='quote '>Вопрос был - &quot;чем не нравятся try-with-resources/using&quot;. Ответ - тем, что пользовательскому коду надо знать про детали реализации.</div></div><br>
Это не вопрос реализации... Может пример?]]></description>
        <author>D_KEY</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3605958</guid>
        <pubDate>Tue, 09 Jun 2015 11:34:40 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3605958</link>
        <description><![CDATA[DarkEld3r: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3605933'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>D_KEY &#064; <time class="tag-quote__quoted-time" datetime="2015-06-09T09:58:08+00:00">09.06.15, 09:58</time></span><div class='quote '> Что касается полей в классе, то ты просто делаешь свой объект совместимым с тем же механизмом и возлагаешь ответственность на вызывающий код.ф </div></div><br>
Ну так я об этом и говорю. Вопрос был - &quot;чем не нравятся try-with-resources/using&quot;. Ответ - тем, что пользовательскому коду надо знать про детали реализации. В плюсах, если я после рефакторинга добавил классу владение каким-либо ресурсом, пользовательский код менять не надо. А если у нас нет деструкторов, то безболезненно такие вещи не пройдут.]]></description>
        <author>DarkEld3r</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3605949</guid>
        <pubDate>Tue, 09 Jun 2015 10:42:38 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3605949</link>
        <description><![CDATA[MyNameIsIgor: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3605946'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>OpenGL &#064; <time class="tag-quote__quoted-time" datetime="2015-06-09T10:36:48+00:00">09.06.15, 10:36</time></span><div class='quote '><div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3605933'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>D_KEY &#064; <time class="tag-quote__quoted-time" datetime="2015-06-09T09:58:08+00:00">09.06.15, 09:58</time></span><div class='quote '>С каким счётчиком ссылок?  </div></div><br>
С тем, который можно добавить при реализации этих деструкторов в языке :)</div></div><br>
И тут вылазит радость: сборка мусора быстрее, чем счётчики ссылок, которые ещё и циклами чреваты. Да, она имеет привычку &quot;тормозить мир&quot;, а счётчики равномерно размазаны по программе, но они медленные.]]></description>
        <author>MyNameIsIgor</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3605946</guid>
        <pubDate>Tue, 09 Jun 2015 10:36:48 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3605946</link>
        <description><![CDATA[OpenGL: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3605933'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>D_KEY &#064; <time class="tag-quote__quoted-time" datetime="2015-06-09T09:58:08+00:00">09.06.15, 09:58</time></span><div class='quote '>С каким счётчиком ссылок?  </div></div><br>
С тем, который можно добавить при реализации этих деструкторов в языке :)]]></description>
        <author>OpenGL</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3605933</guid>
        <pubDate>Tue, 09 Jun 2015 09:58:08 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3605933</link>
        <description><![CDATA[D_KEY: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3605911'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>DarkEld3r &#064; <time class="tag-quote__quoted-time" datetime="2015-06-09T08:36:55+00:00">09.06.15, 08:36</time></span><div class='quote '><div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3605836'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>D_KEY &#064; <time class="tag-quote__quoted-time" datetime="2015-06-08T20:03:39+00:00">08.06.15, 20:03</time></span><div class='quote '>Так чем тебе не нравится try-with-resources/using? </div></div><br>
Тем, что об этом должен знать пользовательский код? &quot;Забыть вызвать деструктор&quot; несколько сложнее. Опять же, в плюсах ты можешь в своём классе иметь данные, которые владеют ресурсами. При этом пользователю ничего дополнительно знать не надо. А со всякими try-with-resources, если внутри класса появляется ресурс, то надо править места, где класс используется.</div></div><br>
Забыть, условно, free - просто. Забыть открыть файл или получить другой ресурс сложнее :) <br>
Не подумать о том, что ты открываешь ресурс тоже сложно.<br>
<br>
Что касается полей в классе, то ты просто делаешь свой объект совместимым с тем же механизмом и возлагаешь ответственность на вызывающий код.ф <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="2015-06-09T09:59:44+00:00">09.06.15, 09:59</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3605919'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>OpenGL &#064; <time class="tag-quote__quoted-time" datetime="2015-06-09T09:27:39+00:00">09.06.15, 09:27</time></span><div class='quote '><div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3605895'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>D_KEY &#064; <time class="tag-quote__quoted-time" datetime="2015-06-09T07:21:53+00:00">09.06.15, 07:21</time></span><div class='quote '>Понять, что делать с кодом, который передаёт наш объект в какой-то метод, например. Сохраняется ли там ссылка на объект? Компилятор в общем случае это знать не может.</div></div><br>
Можно, например, со счётчиком ссылок это совместить.</div></div><br>
С каким счётчиком ссылок? :) <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="2015-06-09T10:34:30+00:00">09.06.15, 10:34</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3605920'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>wind &#064; <time class="tag-quote__quoted-time" datetime="2015-06-09T09:33:51+00:00">09.06.15, 09:33</time></span><div class='quote '><div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3605919'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>OpenGL &#064; <time class="tag-quote__quoted-time" datetime="2015-06-09T09:27:39+00:00">09.06.15, 09:27</time></span><div class='quote '>Можно, например, со счётчиком ссылок это совместить. </div></div><br>
ну это то же самое, что освобождать ресурс в финализаторе</div></div><br>
Нет. Финализатор когда вызовется, да и вызовется ли вообще - неизвестно. А счётчик ссылок даёт нам детерминированное время вызова. Как только 0, так сразу.]]></description>
        <author>D_KEY</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3605920</guid>
        <pubDate>Tue, 09 Jun 2015 09:33:51 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3605920</link>
        <description><![CDATA[wind: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3605919'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>OpenGL &#064; <time class="tag-quote__quoted-time" datetime="2015-06-09T09:27:39+00:00">09.06.15, 09:27</time></span><div class='quote '>Можно, например, со счётчиком ссылок это совместить. </div></div><br>
ну это то же самое, что освобождать ресурс в финализаторе]]></description>
        <author>wind</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3605919</guid>
        <pubDate>Tue, 09 Jun 2015 09:27:39 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3605919</link>
        <description><![CDATA[OpenGL: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3605895'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>D_KEY &#064; <time class="tag-quote__quoted-time" datetime="2015-06-09T07:21:53+00:00">09.06.15, 07:21</time></span><div class='quote '>Понять, что делать с кодом, который передаёт наш объект в какой-то метод, например. Сохраняется ли там ссылка на объект? Компилятор в общем случае это знать не может.</div></div><br>
Можно, например, со счётчиком ссылок это совместить. <br>
Кстати, если в шарпе открыть файл/подключение/etc, и потерять ссылку на объект - финализатор даже по истечении времени не вызовется?]]></description>
        <author>OpenGL</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3605911</guid>
        <pubDate>Tue, 09 Jun 2015 08:36:55 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3605911</link>
        <description><![CDATA[DarkEld3r: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3605836'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>D_KEY &#064; <time class="tag-quote__quoted-time" datetime="2015-06-08T20:03:39+00:00">08.06.15, 20:03</time></span><div class='quote '>Так чем тебе не нравится try-with-resources/using? </div></div><br>
Тем, что об этом должен знать пользовательский код? &quot;Забыть вызвать деструктор&quot; несколько сложнее. Опять же, в плюсах ты можешь в своём классе иметь данные, которые владеют ресурсами. При этом пользователю ничего дополнительно знать не надо. А со всякими try-with-resources, если внутри класса появляется ресурс, то надо править места, где класс используется.]]></description>
        <author>DarkEld3r</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3605895</guid>
        <pubDate>Tue, 09 Jun 2015 07:21:53 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3605895</link>
        <description><![CDATA[D_KEY: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3605891'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>negram &#064; <time class="tag-quote__quoted-time" datetime="2015-06-09T07:13:28+00:00">09.06.15, 07:13</time></span><div class='quote '>Да ладно - компилятор знает всё о локальных объектах в момент компиляции. Что ещё нужно?</div></div><br>
Понять, что делать с кодом, который передаёт наш объект в какой-то метод, например. Сохраняется ли там ссылка на объект? Компилятор в общем случае это знать не может. Я уже не говорю о мультитредности. Не очень понятно, что делать и в более прозрачном случае, когда мы сохраняем объект в переменную охватывающей области видимости. Или в поле другого объекта.]]></description>
        <author>D_KEY</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3605891</guid>
        <pubDate>Tue, 09 Jun 2015 07:13:28 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3605891</link>
        <description><![CDATA[negram: Да ладно - компилятор знает всё о локальных объектах в момент компиляции. Что ещё нужно?]]></description>
        <author>negram</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3605879</guid>
        <pubDate>Tue, 09 Jun 2015 06:31:57 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3605879</link>
        <description><![CDATA[D_KEY: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3605877'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>OpenGL &#064; <time class="tag-quote__quoted-time" datetime="2015-06-09T06:28:36+00:00">09.06.15, 06:28</time></span><div class='quote '><div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3605836'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>D_KEY &#064; <time class="tag-quote__quoted-time" datetime="2015-06-08T20:03:39+00:00">08.06.15, 20:03</time></span><div class='quote '>Ага. Вот только деструкторы со сборкой не дружат, так что альтернативы нет...</div></div><br>
Чисто теоретически - почему нельзя сделать вызов деструкторов обязательным при выходе из области видимости переменной? Вроде как должно быть удобно.</div></div><br>
Если у тебя нет объектов на стеке в языке, то это не так уж и просто.]]></description>
        <author>D_KEY</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3605877</guid>
        <pubDate>Tue, 09 Jun 2015 06:28:36 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3605877</link>
        <description><![CDATA[OpenGL: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3605836'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>D_KEY &#064; <time class="tag-quote__quoted-time" datetime="2015-06-08T20:03:39+00:00">08.06.15, 20:03</time></span><div class='quote '>Ага. Вот только деструкторы со сборкой не дружат, так что альтернативы нет...</div></div><br>
Чисто теоретически - почему нельзя сделать вызов деструкторов обязательным при выходе из области видимости переменной? Вроде как должно быть удобно.]]></description>
        <author>OpenGL</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3605836</guid>
        <pubDate>Mon, 08 Jun 2015 20:03:39 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3605836</link>
        <description><![CDATA[D_KEY: Ага. Вот только деструкторы со сборкой не дружат, так что альтернативы нет...<br><br>Так чем тебе не нравится try-with-resources/using?]]></description>
        <author>D_KEY</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3605712</guid>
        <pubDate>Mon, 08 Jun 2015 12:42:47 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3605712</link>
        <description><![CDATA[Бобёр: ну, финализатор это совсем не то. Мягко говоря :), нежно выражаясь :)]]></description>
        <author>Бобёр</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3605494</guid>
        <pubDate>Sun, 07 Jun 2015 10:50:10 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3605494</link>
        <description><![CDATA[D_KEY: Ну так какие могут быть деструкторы в случае сборки мусора? Только финализаторы.]]></description>
        <author>D_KEY</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3605312</guid>
        <pubDate>Fri, 05 Jun 2015 23:39:46 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3605312</link>
        <description><![CDATA[wind: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3604393'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Бобёр &#064; <time class="tag-quote__quoted-time" datetime="2015-06-02T13:45:22+00:00">02.06.15, 13:45</time></span><div class='quote '>все закрывается само - в деструкторе</div></div><br>
так деструкторов-то нет&#33; отсюда вся печаль :(]]></description>
        <author>wind</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3604608</guid>
        <pubDate>Wed, 03 Jun 2015 09:29:08 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3604608</link>
        <description><![CDATA[Бобёр: А.. вон оно что, Михалыч :)<br>а оно закрывает, да? будем юзать.]]></description>
        <author>Бобёр</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3604540</guid>
        <pubDate>Wed, 03 Jun 2015 06:50:05 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3604540</link>
        <description><![CDATA[D_KEY: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3604536'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Бобёр &#064; <time class="tag-quote__quoted-time" datetime="2015-06-03T06:43:57+00:00">03.06.15, 06:43</time></span><div class='quote '>Ну, очевидно же, да? что я close() в секцию finally записал.<br>
А есть ли какой то аналог C#-ого using или питонячьего with в java?</div></div><br>
Так я про этот аналог и говорил в прошлом посте :) <br>
<a class='tag-url' href='https://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html' target='_blank'>The try-with-resources Statement</a>]]></description>
        <author>D_KEY</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3604536</guid>
        <pubDate>Wed, 03 Jun 2015 06:43:57 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3604536</link>
        <description><![CDATA[Бобёр: Ну, очевидно же, да? что я close() в секцию finally записал.<br>А есть ли какой то аналог C#-ого using или питонячьего with в java?]]></description>
        <author>Бобёр</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3604463</guid>
        <pubDate>Tue, 02 Jun 2015 19:21:58 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3604463</link>
        <description><![CDATA[D_KEY: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3604393'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Бобёр &#064; <time class="tag-quote__quoted-time" datetime="2015-06-02T13:45:22+00:00">02.06.15, 13:45</time></span><div class='quote '>Я тут по нужде написал на java програмулину.<br>
Ну, что то она там из оракла выдергивает, и т.п. JDBC и все такое.<br>
Написал быстро и был доволен. До поры. Пока мне не пришлось обработать более 1200 селектов за сессию. А далье меня обругали - что слишком много курсоров в сессии.<br>
ОКАЗЫВАЕТСЯ РЕКОРДСЕТЫ НАДО ЗАКРЫВАТЬ ВРУЧНУЮ&#33;<br>
Фу&#33;&#33; Каменный век&#33;<br>
я в C++ не помню когда последний раз использовал close() или delete вручную, все закрывается само - в деструкторе. Авто-объекты рулят. И кто после этого язык с автоматической сборкой мусора??? неужели JAVA???</div></div><br>
А с try-with-resources эта штука не работает?]]></description>
        <author>D_KEY</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3604405</guid>
        <pubDate>Tue, 02 Jun 2015 14:09:32 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3604405</link>
        <description><![CDATA[Qraizer: Автоматическая и автоматизированная – разные вещи. И – да: я за вторую. :good:]]></description>
        <author>Qraizer</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3604393</guid>
        <pubDate>Tue, 02 Jun 2015 13:45:22 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3604393</link>
        <description><![CDATA[Бобёр: Я тут по нужде написал на java програмулину.<br>Ну, что то она там из оракла выдергивает, и т.п. JDBC и все такое.<br>Написал быстро и был доволен. До поры. Пока мне не пришлось обработать более 1200 селектов за сессию. А далье меня обругали - что слишком много курсоров в сессии.<br>ОКАЗЫВАЕТСЯ РЕКОРДСЕТЫ НАДО ЗАКРЫВАТЬ ВРУЧНУЮ&#33;<br>Фу&#33;&#33; Каменный век&#33;<br>я в C++ не помню когда последний раз использовал close() или delete вручную, все закрывается само - в деструкторе. Авто-объекты рулят. И кто после этого язык с автоматической сборкой мусора??? неужели JAVA???]]></description>
        <author>Бобёр</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3600723</guid>
        <pubDate>Fri, 15 May 2015 20:43:32 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3600723</link>
        <description><![CDATA[applegame: Почитал я про горутины и сдается мне что <strong class='tag-b'>korvin</strong> путает горутины и корутины, а это разные вещи на самом деле. Горутина - это фактически надстройка над корутинами, причем горутины подразумевают наличие планировщика, который, как я понимаю, встроен в Go.<br>
Аналог горутин в vibe.d - это Task:<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">void foo() {</div><div class="code_line">&nbsp;&nbsp;Task[] pool;</div><div class="code_line">&nbsp;&nbsp;// стартуем параллельно три таска и пишем их в массив</div><div class="code_line">&nbsp;&nbsp;iota(3).each!(i =&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp;pool ~= runTask({</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;// тельце корутины, передача управления другим корутинам в этом потоке</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;// только при блокирующих операциях (I/O, мьютексы и прочая байда)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;...</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;veryLongRequest(i);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;...</div><div class="code_line">&nbsp;&nbsp; &nbsp;})</div><div class="code_line">&nbsp;&nbsp;);</div><div class="code_line">&nbsp;&nbsp;// ждем пока все таски не выполнятся</div><div class="code_line">&nbsp;&nbsp;pool.each!(t =&#62; t.join);</div><div class="code_line">}</div></ol></div></div></div></div>]]></description>
        <author>applegame</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3600720</guid>
        <pubDate>Fri, 15 May 2015 20:33:11 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3600720</link>
        <description><![CDATA[DarkEld3r: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3600689'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>JoeUser &#064; <time class="tag-quote__quoted-time" datetime="2015-05-15T17:09:25+00:00">15.05.15, 17:09</time></span><div class='quote '> Народ, а вообще есть хоть какая инфа, почему разработчики Qt напрочь отказались от обработки исключений в своем коде? </div></div><br>
Обычно <a class='tag-url' href='http://stackoverflow.com/questions/5548951/why-doesnt-qt-use-exception-handling' target='_blank'>цитируют </a>вот это:<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>When Qt was started exceptions were not available for all the compilers that needed to be supported by Qt. Today we are trying to keep the APIs consistent, so modules that have a history of not using exceptions will generally not get new code using exceptions added.<br>
<br>
You will notice exceptions are used in some of the new modules of Qt.</div></div><br>
Правда ссылки, которые приводят, уже протухли.<br>
<br>
Ну и для &quot;базового апи&quot; это вполне удобно, имхо. А дальше мы уже сами решаем является та или иная ошибка &quot;исключительной ситуацией&quot;. Ещё удобнее, конечно, предоставлять по две версии (ну или с перегрузкой) апи, но это, очевидно, больше работы потребует.]]></description>
        <author>DarkEld3r</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3600717</guid>
        <pubDate>Fri, 15 May 2015 20:09:22 +0000</pubDate>
        <title>Легальный около Цэ++ шный холивар</title>
        <link>https://forum.sources.ru/index.php?showtopic=402078&amp;view=findpost&amp;p=3600717</link>
        <description><![CDATA[applegame: <strong class='tag-b'>korvin</strong><div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3600691'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>korvin &#064; <time class="tag-quote__quoted-time" datetime="2015-05-15T17:11:13+00:00">15.05.15, 17:11</time></span><div class='quote '>Это для примера того, что выполнение корутины не зависит от корутины, породившей её.</div></div>Зависит на самом деле. Корутина сама по себе работать не будет. Это не поток. Но можно ее отдать планировщику и он сам уже будет ее крутить.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3600691'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>korvin &#064; <time class="tag-quote__quoted-time" datetime="2015-05-15T17:11:13+00:00">15.05.15, 17:11</time></span><div class='quote '>2) В этой корутине я создал другую корутину...</div></div>Я вообще-то говорил о запуске пользовательского обработчика, а не дополнительной корутины, то что ты написал в первом примере.<br>
Я не знаю как там в <span class='tag-u'>го</span>рутинах, а в <span class='tag-u'>ко</span>рутинах вот так<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">void foo() {</div><div class="code_line">&nbsp;&nbsp;...</div><div class="code_line">&nbsp;&nbsp;auto fiber = new Fiber(&amp;worker);</div><div class="code_line">&nbsp;&nbsp;// корутина еще не работает</div><div class="code_line">&nbsp;&nbsp;auto e = fiber.call(); // корутина крутится пока не вызван yield();</div><div class="code_line">&nbsp;&nbsp;// сюда управление не дойдет до тех пор</div><div class="code_line">&nbsp;&nbsp;// пока внутри worker не будет вызван yield();</div><div class="code_line">&nbsp;&nbsp;...</div><div class="code_line">}</div></ol></div></div></div></div><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3600691'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>korvin &#064; <time class="tag-quote__quoted-time" datetime="2015-05-15T17:11:13+00:00">15.05.15, 17:11</time></span><div class='quote '>3) Да речь не об этом. Речь о выбросе исключения из самой корутины. См. пункт 2.<br>
<br>
4) И дальше что? Планировщик только распределяет выполнение инструкций, ну, допустим, он поймал исключение, как ты сообщишь клиенту об этом, если он давно отвалился. Может, он вообще больше никогда не подключится. Как вообще должна выглядеть синтаксически обработка исключений от корутин? Вот см. пункт 2. Как должна работать процедура foo? </div></div>Я не пойму что ты хочешь мне этим сказать? Как тебе поможет в данном случае отказ от исключений? Полагаю, что то что ты тут у меня спрашиваешь вообще ортогонально к исключениям. <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="2015-05-15T20:16:34+00:00">15.05.15, 20:16</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=402078&view=findpost&p=3600717'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>applegame &#064; <time class="tag-quote__quoted-time" datetime="2015-05-15T20:09:22+00:00">15.05.15, 20:09</time></span><div class='quote '>Как вообще должна выглядеть синтаксически обработка исключений от корутин?</div></div>Для D это выглядит вот так:<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">auto e = fiber.call();</div><div class="code_line">if(e) {</div><div class="code_line">&nbsp;&nbsp; writefln(&quot;корутина сдохла: %s&quot;, e.msg);</div><div class="code_line">}</div></ol></div></div></div></div><br>
я надеюсь ты в курсе, что корутины сами по себе не работают? На то они и корутины. Тебе нужно периодически вызывать Fiber.call(), а внутри корутины соответственно Fiber.yield().]]></description>
        <author>applegame</author>
        <category>Holy Wars</category>
      </item>
	
      </channel>
      </rss>
	