<?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=413036&amp;view=findpost&amp;p=3771930</guid>
        <pubDate>Wed, 13 Jun 2018 09:43:33 +0000</pubDate>
        <title>&amp;quot;Новый взгляд&amp;quot; на контейнеры</title>
        <link>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3771930</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=413036&amp;view=findpost&amp;p=3771900</guid>
        <pubDate>Wed, 13 Jun 2018 06:28:08 +0000</pubDate>
        <title>&amp;quot;Новый взгляд&amp;quot; на контейнеры</title>
        <link>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3771900</link>
        <description><![CDATA[OpenGL: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413036&view=findpost&p=3771698'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>settler &#064; <time class="tag-quote__quoted-time" datetime="2018-06-09T19:37:46+00:00">09.06.18, 19:37</time></span><div class='quote '>И представь себе что данные постоянно то стираються то добавляются снова,<br>
В этом случае нужен лист и лучше single, <br>
</div></div><br>
Да ладно  :unsure:  Неужели ты хочешь сказать, что нужно брать тот контейнер, который удобнее сейчас, а не всегда один и тот же?  :crazy: <br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413036&view=findpost&p=3771698'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>settler &#064; <time class="tag-quote__quoted-time" datetime="2018-06-09T19:37:46+00:00">09.06.18, 19:37</time></span><div class='quote '>Если реаллокации много то может и страшно, от задачи зависит. </div></div><br>
Если в какой-то задаче это будет страшно, то я просто выберу другой контейнер - в отличие от тебя, у меня нет предубеждения ни к одному из них, так что мне несложно заюзать тот, который подойдёт лучше :D<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413036&view=findpost&p=3771698'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>settler &#064; <time class="tag-quote__quoted-time" datetime="2018-06-09T19:37:46+00:00">09.06.18, 19:37</time></span><div class='quote '>смотри еще раз мои расчеты, what is wrong here ?</div></div><br>
Тебе уже несколько раз об этом говорили - ты почему-то считаешь, что при добавлении элемента всегда происходит реаллокация и как следствие - ты не учитываешь, что при добавлении второго-третьего и далее до capacity элементов в вектор потребление памяти расти не будет, в отличие от списка. Хочешь оценить ожидаемое потребление памяти - оцени именно его. Хотя для этого математику надо знать, а с ней, судя по твоим постам, у тебя большие проблемы   :D <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="2018-06-13T06:30:20+00:00">13.06.18, 06:30</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413036&view=findpost&p=3771708'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>amk &#064; <time class="tag-quote__quoted-time" datetime="2018-06-10T06:19:10+00:00">10.06.18, 06:19</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=413036&amp;view=findpost&amp;p=3771722</guid>
        <pubDate>Sun, 10 Jun 2018 15:14:57 +0000</pubDate>
        <title>&amp;quot;Новый взгляд&amp;quot; на контейнеры</title>
        <link>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3771722</link>
        <description><![CDATA[Славян: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413036&view=findpost&p=3771711'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>settler &#064; <time class="tag-quote__quoted-time" datetime="2018-06-10T10:57:20+00:00">10.06.18, 10:57</time></span><div class='quote '>Ты читал что <strong class='tag-b'>эта мразь</strong> мне писала...</div></div>Отчего столь сильно бомбануло то, Серж?.. :blink: <br>
Неужто пропиндосам от мегаоблома по захвату Крыма:<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413036&view=findpost&p=3771702'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>settler &#064; <time class="tag-quote__quoted-time" datetime="2018-06-09T20:59:12+00:00">09.06.18, 20:59</time></span><div class='quote '>месть за КрымНеНашь</div></div>крайне тяжко стало жить?.. :)]]></description>
        <author>Славян</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3771720</guid>
        <pubDate>Sun, 10 Jun 2018 13:53:31 +0000</pubDate>
        <title>&amp;quot;Новый взгляд&amp;quot; на контейнеры</title>
        <link>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3771720</link>
        <description><![CDATA[Qraizer: Т.е. ты так ничего и не понял, <strong class='tag-b'>settler</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="2018-06-10T14:08:28+00:00">10.06.18, 14:08</time></span></span><br>
Мои девочки в отделе, что на испытательном были, уже через минуту после вопроса об оберхеде вектора нашли ответ, тебе для этого потребовался <strong class='tag-b'>amk</strong>. Ты уверен, что ты программист? Девочки-то тестеры. Они не отказываются учиться и не страдают синдромом диванного аналитизма.<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="2018-06-10T14:24:31+00:00">10.06.18, 14:24</time></span></span><br>
<div class="tag-ex"><div class="tag-ex__prefix">!</div><div class="tag-ex__body">Что происходит в Политическом гадюшнике, мне совершенно коллинеарно. С волками жить – по волчьи выть. Если ты там себя проявляешь аналогично, то предупреждаю&#58; появишься такой красивый в МШ, увидишь разницу от Политики.<br>
В сухом остатке.<ul class="tag-list"><li>прямое оскорбление участника, дважды &#40;неделя*2&#41;;</li><li>флуд в тематическом разделе &#40;3 дня&#41;;</li><li>вред участникам и гостям форума посредством дезинформирования &#40;3 дня + премод на 20 дней&#41;.</li></ul></div></div>]]></description>
        <author>Qraizer</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3771708</guid>
        <pubDate>Sun, 10 Jun 2018 06:19:10 +0000</pubDate>
        <title>&amp;quot;Новый взгляд&amp;quot; на контейнеры</title>
        <link>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3771708</link>
        <description><![CDATA[amk: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413036&view=findpost&p=3771698'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>settler &#064; <time class="tag-quote__quoted-time" datetime="2018-06-09T19:37:46+00:00">09.06.18, 19:37</time></span><div class='quote '>где сказано про c++ vector что в нем так как ты говоришь, и как это <br>
грамотно  изменить для конкретной задачи ?</div></div> Для меня всегда главным документом по вопросам, определённым в стандарте как зависящее от реализации были файлы заголовков и исходные тексты библиотек.<br>
Грамотно (и законным образом) изменить поведение библиотечного класса можно лишь написав свою версию этого класса (возможно унаследовавшись от этого библиотечного).<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413036&view=findpost&p=3771706'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>settler &#064; <time class="tag-quote__quoted-time" datetime="2018-06-09T22:38:12+00:00">09.06.18, 22:38</time></span><div class='quote '>Ага только пост amk был после,</div></div> Возможно, имеется в виду, что ты сам даже после рамки не попытался разобраться в вопросе. И объяснение дождалось меня<br>
Я обычно в будни только раз в сутки где-то на часок на форум заглядываю. С работы возможности нет, а дома и других дел полно.]]></description>
        <author>amk</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3771706</guid>
        <pubDate>Sat, 09 Jun 2018 22:38:12 +0000</pubDate>
        <title>&amp;quot;Новый взгляд&amp;quot; на контейнеры</title>
        <link>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3771706</link>
        <description><![CDATA[settler: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413036&view=findpost&p=3771704'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Qraizer &#064; <time class="tag-quote__quoted-time" datetime="2018-06-09T21:59:30+00:00">09.06.18, 21:59</time></span><div class='quote '>А вот предупреждение в синей рамке ты получил за то, что это сделал именно <strong class='tag-b'>amk</strong>, а не ты.</div></div><br>
Ага только пост <strong class='tag-b'>amk</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="2018-06-09T22:46:09+00:00">09.06.18, 22:46</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413036&view=findpost&p=3771704'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Qraizer &#064; <time class="tag-quote__quoted-time" datetime="2018-06-09T21:59:30+00:00">09.06.18, 21:59</time></span><div class='quote '>Так. Давай-ка заглянем в историю. Итак.<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413036&view=findpost&p=3770721'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>settler &#064; <time class="tag-quote__quoted-time" datetime="2018-05-30T21:00:52+00:00">30.05.18, 21:00</time></span><div class='quote '><div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413036&view=findpost&p=3764185'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Qraizer &#064; <time class="tag-quote__quoted-time" datetime="2018-03-19T14:50:15+00:00">19.03.18, 14:50</time></span><div class='quote '>У Майерса один из советов был &quot;не знаете, какой контейнер использовать, берите вектор&quot;.</div></div><br>
Aга и получайте out of memory,  лучше бы он или другой кто , показал <br>
пример как использовать  аllocator, Я не хочу  на два умножать и тратить память<br>
в пустую.</div></div><div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413036&view=findpost&p=3770726'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Qraizer &#064; <time class="tag-quote__quoted-time" datetime="2018-05-30T23:08:12+00:00">30.05.18, 23:08</time></span><div class='quote '><strong class='tag-b'>settler</strong>, не хочешь, не трать. Кто тебя заставляет-то?</div></div></div></div><br>
Ну и что тут не так, помоему ясно было что речь идет что речь об обьектах,<br>
у меня они от 500К до 3Мега, и приходят они по сокету , когда и и сколько<br>
мне не известно, поэтому перeгрузка ensureCapacity (push back in C++) о которой<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="2018-06-09T22:56:33+00:00">09.06.18, 22:56</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413036&view=findpost&p=3771704'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Qraizer &#064; <time class="tag-quote__quoted-time" datetime="2018-06-09T21:59:30+00:00">09.06.18, 21:59</time></span><div class='quote '>Собственно, если ты проигнорил в &quot;<span class="tag-color tag-color-named" data-value="blue" style="color: blue">не знаете, какой контейнер использовать</span>, берите вектор&quot; выделенное синим, этого уже было достаточно, чтобы выкинуть дискуссию в корзину.</div></div><br>
А вот это уже wrong IMHO, не знаешь что юзать бери redblackTree, <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="2018-06-09T23:22:37+00:00">09.06.18, 23:22</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413036&view=findpost&p=3771704'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Qraizer &#064; <time class="tag-quote__quoted-time" datetime="2018-06-09T21:59:30+00:00">09.06.18, 21:59</time></span><div class='quote '>Но вот то, что ты т.о. проигнорил предупреждение в синей рамке от модератора,</div></div><br>
Ну да устроили клоунаду, я как раз и привел расчеты, после примера <br>
<strong class='tag-b'>openGL</strong> , У меня vector&lt;int&gt; держит 58мил записей,  таких коллекций <br>
в природе не бывает( а если и бывают  то решается это совсем по-другому и не програмным путем)   а вот 500,000 тяжелых обьектов , например в системах ERP, где в DB бывает <br>
по 30-40 полей, а бывает и 200, это уже другая опера, пока я вижу детсский сад,<br>
типо сам дурак, а где и что сказал не так привести не можем, ну джо эт лист не может, <br>
поэтому и привел скаченный из тугля алокатор не понимая зачем.<br>
<br>
Нормальные люди говорят спасибо , за то что время трачу, а бан это вообще цирк, <br>
Ну еще это читают сотни людей , ты их спросил .<br>
<br>
Учиться говоришь не хочу, уже раз пять просил обьяснить как юзать алокатор, или почему<br>
и когда наоборот не надо, <br>
за все время был один ответ &quot;тебе он не нужен&quot; , и банку там никто не давал заметь,]]></description>
        <author>settler</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3771704</guid>
        <pubDate>Sat, 09 Jun 2018 21:59:30 +0000</pubDate>
        <title>&amp;quot;Новый взгляд&amp;quot; на контейнеры</title>
        <link>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3771704</link>
        <description><![CDATA[Qraizer: Так. Давай-ка заглянем в историю. Итак.<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413036&view=findpost&p=3770721'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>settler &#064; <time class="tag-quote__quoted-time" datetime="2018-05-30T21:00:52+00:00">30.05.18, 21:00</time></span><div class='quote '><div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413036&view=findpost&p=3764185'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Qraizer &#064; <time class="tag-quote__quoted-time" datetime="2018-03-19T14:50:15+00:00">19.03.18, 14:50</time></span><div class='quote '>У Майерса один из советов был &quot;не знаете, какой контейнер использовать, берите вектор&quot;.</div></div><br>
Aга и получайте out of memory,  лучше бы он или другой кто , показал <br>
пример как использовать  аllocator, Я не хочу  на два умножать и тратить память<br>
в пустую.</div></div><div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413036&view=findpost&p=3770726'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Qraizer &#064; <time class="tag-quote__quoted-time" datetime="2018-05-30T23:08:12+00:00">30.05.18, 23:08</time></span><div class='quote '><strong class='tag-b'>settler</strong>, не хочешь, не трать. Кто тебя заставляет-то?</div></div>Как по-моему, <strong class='tag-b'>amk</strong> этот мой ответ <a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=412298&view=findpost&p=3771697' target='_blank'>прокомментировал</a> исчерпывающе. А вот предупреждение в синей рамке ты получил за то, что это сделал именно <strong class='tag-b'>amk</strong>, а не ты. Материала тебе было предоставлено выше крыши. Это во-первых. Вместо того, чтобы искать у себя ошибки в рассуждениях и следовательно учиться, ты продолжил демонстрировать совершенное нежелание вести предметный разговор. Это твоё решение, на которое ты, конечно, имел полное право. Пусть тебе и плевать на свою репутацию, само по себе это ничего не нарушает. Но вот то, что ты т.о. проигнорил предупреждение в синей рамке от модератора, как раз и явилось настоящей причиной банки на 14 дней. Это во-вторых. Ровно эта же причина отражена и в логах. И не надо тут искать политических заговоров. <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="2018-06-09T22:01:06+00:00">09.06.18, 22:01</time></span></span><br>
Собственно, если ты проигнорил в &quot;<span class="tag-color tag-color-named" data-value="blue" style="color: blue">не знаете, какой контейнер использовать</span>, берите вектор&quot; выделенное синим, этого уже было достаточно, чтобы выкинуть дискуссию в корзину.]]></description>
        <author>Qraizer</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3771702</guid>
        <pubDate>Sat, 09 Jun 2018 20:59:12 +0000</pubDate>
        <title>&amp;quot;Новый взгляд&amp;quot; на контейнеры</title>
        <link>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3771702</link>
        <description><![CDATA[settler: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413036&view=findpost&p=3771636'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Qraizer &#064; <time class="tag-quote__quoted-time" datetime="2018-06-09T02:35:23+00:00">09.06.18, 02:35</time></span><div class='quote '><strong class='tag-b'>settler</strong>, можешь объяснить, почему из своих наблюдений ты делаешь выводы, а из наблюдений других не делаешь никаких? Сколько тебе кода уже предоставили? Сам посчитаешь? Сколько коду было от тебя? Я уже посчитал.</div></div><br>
Почему из других не делаю?  вот код <strong class='tag-b'>openGL</strong><br>
и навел, точнее дополнил, трех строк хватило,  <br>
а что в моих выводах не устраивает(они не мои а Вирта или<br>
Таненбаума, и лет им по 20-25 если не больше ) . А ты типо про работу OS<br>
никогда не слышал , ага счас поверил, ;) <br>
<br>
А месть за КрымНеНашь (джо зажигай) это глупо, ты же не ватник типа Кили,<br>
или <strong class='tag-b'>програм</strong>а , Или Я ошибаюсь ?  ;)]]></description>
        <author>settler</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3771698</guid>
        <pubDate>Sat, 09 Jun 2018 19:37:46 +0000</pubDate>
        <title>&amp;quot;Новый взгляд&amp;quot; на контейнеры</title>
        <link>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3771698</link>
        <description><![CDATA[settler: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413036&view=findpost&p=3771697'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>amk &#064; <time class="tag-quote__quoted-time" datetime="2018-06-09T18:33:08+00:00">09.06.18, 18:33</time></span><div class='quote '><strong class='tag-b'>settler</strong>, вектор старается уменьшитьчисло перераспределений памяти, но не настолько. Ёмкость удваивается только пока вектор относительно небольшой. при средних размерах ёмкость увеличивается наполовину, Большие вектора увеличиваются при перераспределении где-то на четверть. При этом вектор всё так же имеет линейные затраты, просто константа увеличивается. При этом мы ещё и избавляемся от одного неприятного явления, проявляющегося при удвоении ёмкости, когда освобождённой ранее вектором памяти, даже после склейки освобождённых кусков всё время не хватает для нового буфера (память становится одноразовой).</div></div><br>
Это вполне логично,(свои вектора примерно так и делают),как ты понимаешь это тема есть в любом языке, в Ява сорцах явно видно как умножается на два (если надо могу выложить),<br>
ArrayList на 3/2,  где сказано про c++ vector что в нем так как ты говоришь, и как это <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="2018-06-09T19:46:06+00:00">09.06.18, 19:46</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413036&view=findpost&p=3771697'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>amk &#064; <time class="tag-quote__quoted-time" datetime="2018-06-09T18:33:08+00:00">09.06.18, 18:33</time></span><div class='quote '>Кроме того, если примерное количество мест в векторе известно, всегда можно запросить нужный размер вручную сразу, тогда вектор вообще перераспределять память не будет.</div></div><br>
Это понятно,  я говорю о том когда неизвестно , лист для того и придумал,<br>
да там оверхад в 16байт(два поинтера) и memory overflow будет как в примере <strong class='tag-b'>OpenGL</strong> но когда сам обьект большой оно мало влияет, ну кто мешает юзать sigleList он есть в C++11 ЕМНИП. <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="2018-06-09T19:52:56+00:00">09.06.18, 19:52</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413036&view=findpost&p=3771644'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>OpenGL &#064; <time class="tag-quote__quoted-time" datetime="2018-06-09T06:36:46+00:00">09.06.18, 06:36</time></span><div class='quote '>Во-первых, если мне надо 1001 элемент, я выделю 1001 элемент, а не 1000, как это ни странно :D</div></div><br>
Как ни странно ты об этом не всегда заранее знаешь  ;) <br>
И представь себе что данные постоянно то стираються то добавляются снова,<br>
В этом случае нужен лист и лучше single, <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="2018-06-09T19:55:21+00:00">09.06.18, 19:55</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413036&view=findpost&p=3771644'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>OpenGL &#064; <time class="tag-quote__quoted-time" datetime="2018-06-09T06:36:46+00:00">09.06.18, 06:36</time></span><div class='quote '>Во-вторых, это будет только при реаллокации, так что не страшно.</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="2018-06-09T20:07:12+00:00">09.06.18, 20:07</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413036&view=findpost&p=3771644'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>OpenGL &#064; <time class="tag-quote__quoted-time" datetime="2018-06-09T06:36:46+00:00">09.06.18, 06:36</time></span><div class='quote '>В-третьих, на практике коэфициент 2 используют редко - обычно он меньше.</div></div><br>
Речь шла о стандартном контейнере , на практике ты можешь делать как ты хочешь,<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="2018-06-09T20:31:29+00:00">09.06.18, 20:31</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413036&view=findpost&p=3771644'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>OpenGL &#064; <time class="tag-quote__quoted-time" datetime="2018-06-09T06:36:46+00:00">09.06.18, 06:36</time></span><div class='quote '>И в-чётвёртых даже если предположить, что у меня действительно capacity вдвое больше, чем size, занимаемая память всё равно будет меньше из-за того, что sizeof(void*) в данном случае вдвое больше самого int-а, а это значит в твоём сценарии памяти съест вектор всё равно в полтора раза меньше, чем такой список :D</div></div><br>
Не понял , кто у тебя void*<br>
<br>
смотри еще раз мои расчеты, what is wrong here ?<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">class Node&#60;T&#62;{</div><div class="code_line">&nbsp;node* prev;</div><div class="code_line">&nbsp;node* next; </div><div class="code_line">&nbsp;T value; </div><div class="code_line">&nbsp;</div><div class="code_line">}</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script><br>
<br>
sizeof(node) = sizeof(T) + sizeof(next) +sizeof(prev) для 64бит <br>
будет  sizeof(T) + 16,<br>
<br>
для листа будет n(sizeof(T) + 16) ,<br>
<br>
для вектора   n*sizeof(T) , при увиличении на 2 или на х , то есть при первой перелокации<br>
имеем <br>
для листа будет (n+1)(sizeof(T) + 16) ,<br>
для вектора   х*n*sizeof(T)<br>
<br>
если х небольшой то проблем нет если он 2 или 1.5 и Т большой то лист выигрывает и очень не слабо, <br>
Понимаешь что все не однозначто еще есть cashing line problem , о которой програмисты C++, c 15-20 опытом молчат как партизаны  ;) и вектор можно гонять потоками, как в яве 8,<br>
а с листом  (у него нет индекса) это сложнее.<br>
<br>
В общем разные контейнеры для  разных задач, и говорить что один лучше, есть показатель<br>
собсвенных lack of knowledge ( не путать с luck  слышиться одинаково ;) ) <br>
<br>
Все .]]></description>
        <author>settler</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3771697</guid>
        <pubDate>Sat, 09 Jun 2018 18:33:08 +0000</pubDate>
        <title>&amp;quot;Новый взгляд&amp;quot; на контейнеры</title>
        <link>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3771697</link>
        <description><![CDATA[amk: <strong class='tag-b'>settler</strong>, вектор старается уменьшитьчисло перераспределений памяти, но не настолько. Ёмкость удваивается только пока вектор относительно небольшой. при средних размерах ёмкость увеличивается наполовину, Большие вектора увеличиваются при перераспределении где-то на четверть. При этом вектор всё так же имеет линейные затраты, просто константа увеличивается. При этом мы ещё и избавляемся от одного неприятного явления, проявляющегося при удвоении ёмкости, когда освобождённой ранее вектором памяти, даже после склейки освобождённых кусков всё время не хватает для нового буфера (память становится одноразовой).<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="2018-06-09T18:34:44+00:00">09.06.18, 18:34</time></span></span><br>
<strong class='tag-b'>Олег М</strong>, просто ты такую ошибку допустил в каждом из мест, где писал о фрагментации.]]></description>
        <author>amk</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3771645</guid>
        <pubDate>Sat, 09 Jun 2018 06:44:06 +0000</pubDate>
        <title>&amp;quot;Новый взгляд&amp;quot; на контейнеры</title>
        <link>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3771645</link>
        <description><![CDATA[Олег М: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413036&view=findpost&p=3771644'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>OpenGL &#064; <time class="tag-quote__quoted-time" datetime="2018-06-09T06:36:46+00:00">09.06.18, 06:36</time></span><div class='quote '>Вероятно, он о том, что реально ты хотел сказать &quot;в реальных задачах паметь фрагментирована&quot; </div></div><br>
<br>
Да, точно, ошибся.]]></description>
        <author>Олег М</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3771644</guid>
        <pubDate>Sat, 09 Jun 2018 06:36:46 +0000</pubDate>
        <title>&amp;quot;Новый взгляд&amp;quot; на контейнеры</title>
        <link>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3771644</link>
        <description><![CDATA[OpenGL: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413036&view=findpost&p=3771635'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>settler &#064; <time class="tag-quote__quoted-time" datetime="2018-06-09T00:45:15+00:00">09.06.18, 00:45</time></span><div class='quote '>Вектор увеличивает памать в два раза, то есть выделил памать под 1000 <br>
элементов - а надо 1001, так вот на 1001 он выделает *2 то есть 2000, (999байт коту под хвост) <br>
на 2001 - 4000, и т.д. Tак пишут в книгах по OS,</div></div><br>
Во-первых, если мне надо 1001 элемент, я выделю 1001 элемент, а не 1000, как это ни странно :D Во-вторых, это будет только при реаллокации, так что не страшно. В-третьих, на практике коэфициент 2 используют редко - обычно он меньше. И в-чётвёртых даже если предположить, что у меня действительно capacity вдвое больше, чем size, занимаемая память всё равно будет меньше из-за того, что sizeof(void*) в данном случае вдвое больше самого int-а, а это значит в твоём сценарии памяти съест вектор всё равно в полтора раза меньше, чем такой список :D <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="2018-06-09T06:38:08+00:00">09.06.18, 06:38</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413036&view=findpost&p=3771642'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Олег М &#064; <time class="tag-quote__quoted-time" datetime="2018-06-09T06:21:01+00:00">09.06.18, 06:21</time></span><div class='quote '>Ну, для начала расскажи как ты понимаешь значение этого слова, а то что-то у меня возникают сомнения.<br>
</div></div><br>
Вероятно, он о том, что реально ты хотел сказать &quot;в реальных задачах паметь фрагментирована&quot; :)]]></description>
        <author>OpenGL</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3771642</guid>
        <pubDate>Sat, 09 Jun 2018 06:21:01 +0000</pubDate>
        <title>&amp;quot;Новый взгляд&amp;quot; на контейнеры</title>
        <link>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3771642</link>
        <description><![CDATA[Олег М: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413036&view=findpost&p=3771596'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>amk &#064; <time class="tag-quote__quoted-time" datetime="2018-06-08T15:40:31+00:00">08.06.18, 15:40</time></span><div class='quote '>Олег М, как ты понимаешь значение слова &quot;дефрагментирована&quot;?<br>
Потому как у меня при прочтении твоих постов возникают некоторые сомнения, что ты полностью понимаешь, что в них пишешь.</div></div><br>
<br>
Ну, для начала расскажи как ты понимаешь значение этого слова, а то что-то у меня возникают сомнения.]]></description>
        <author>Олег М</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3771637</guid>
        <pubDate>Sat, 09 Jun 2018 02:35:53 +0000</pubDate>
        <title>&amp;quot;Новый взгляд&amp;quot; на контейнеры</title>
        <link>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3771637</link>
        <description><![CDATA[Qraizer: <div class="tag-ex"><div class="tag-ex__prefix">!</div><div class="tag-ex__body"><strong class='tag-b'>JoeUser</strong>, заряжай.</div></div><br>
<br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Эта тема была разделена из темы &quot;<a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=412298' target='_blank'>Что несет Бьёрн Страуструп?</a>&quot;</span></span>]]></description>
        <author>Qraizer</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3771636</guid>
        <pubDate>Sat, 09 Jun 2018 02:35:23 +0000</pubDate>
        <title>&amp;quot;Новый взгляд&amp;quot; на контейнеры</title>
        <link>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3771636</link>
        <description><![CDATA[Qraizer: <strong class='tag-b'>settler</strong>, можешь объяснить, почему из своих наблюдений ты делаешь выводы, а из наблюдений других не делаешь никаких? Сколько тебе кода уже предоставили? Сам посчитаешь? Сколько коду было от тебя? Я уже посчитал.<br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Сообщения были разделены в тему &quot;<a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=413035' target='_blank'>Новый взгляд на контейнеры</a>&quot;</span></span><br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Это сообщение было перенесено сюда или объединено из темы &quot;<a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=412298' target='_blank'>Что несет Бьёрн Страуструп?</a>&quot;</span></span>]]></description>
        <author>Qraizer</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3771635</guid>
        <pubDate>Sat, 09 Jun 2018 00:45:15 +0000</pubDate>
        <title>&amp;quot;Новый взгляд&amp;quot; на контейнеры</title>
        <link>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3771635</link>
        <description><![CDATA[settler: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413036&view=findpost&p=3771530'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>OpenGL &#064; <time class="tag-quote__quoted-time" datetime="2018-06-08T07:09:06+00:00">08.06.18, 07:09</time></span><div class='quote '><div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413036&view=findpost&p=3771497'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>settler &#064; <time class="tag-quote__quoted-time" datetime="2018-06-07T21:06:05+00:00">07.06.18, 21:06</time></span><div class='quote '>Ты понимаешь как вектор добавляет новый елемент ?</div></div><br>
А почему ты спрашиваешь? Ты не догадываешься, что я  на этот вопрос отвечу? :D<br>
Ответь лучше на вопрос выше - почему мой код падает с bad_alloc в случае списка и не падает в случае вектора если вектор занимает памяти больше  :whistle:</div></div><br>
Ну так твой код, Я так писать еще не научился,  ;) <br>
Вектор увеличивает памать в два раза, то есть выделил памать под 1000  <br>
элементов - а надо 1001, так вот на 1001 он выделает *2 то есть 2000, (999байт коту под хвост) <br>
на 2001 - 4000, и т.д. Tак пишут в книгах по OS,<br>
 в какой то момент будет  out of memory, памяти  всего может быть, но может не быть<br>
linear memory block,  до сих что не так ?<br>
<br>
Лист не занимает больше памяти он больше выделает,(sizeof() = 24 дважды) и потом  стирает,(см сорцы) <br>
фактически у него не два поинтера а три (третий temp каждый раз выделает и делилит память),<br>
возможно при больших обьемах он не увеличивает размер на два, возможно оптимизатор <br>
собирает статистику и выделает память более умно, но это мои догадки,  <br>
<br>
так вот в твоем случае память не дефрагментирована, по сути пустая, нету с чего, и с тем что я написал не столкнулся, то есть нет проблем выделить linear memory block, <br>
<br>
<br>
Теперь проводи свое обьяснение, возможно оно будет лучше,<br>
Да для тех кто не в курсе  от языка это не зависит.<br>
Да очень возможно что &quot;папа&quot; не несет чушь, зная ихний менталитет, думаю он <br>
специально не договаривает.<br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Это сообщение было перенесено сюда или объединено из темы &quot;<a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=412298' target='_blank'>Что несет Бьёрн Страуструп?</a>&quot;</span></span>]]></description>
        <author>settler</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3771596</guid>
        <pubDate>Fri, 08 Jun 2018 15:40:31 +0000</pubDate>
        <title>&amp;quot;Новый взгляд&amp;quot; на контейнеры</title>
        <link>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3771596</link>
        <description><![CDATA[amk: <strong class='tag-b'>Олег М</strong>, как ты понимаешь значение слова &quot;<em class='tag-i'>дефрагментирована</em>&quot;?<br>
Потому как у меня при прочтении твоих постов возникают некоторые сомнения, что ты полностью понимаешь, что в них пишешь.<br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Это сообщение было перенесено сюда или объединено из темы &quot;<a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=412298' target='_blank'>Что несет Бьёрн Страуструп?</a>&quot;</span></span>]]></description>
        <author>amk</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3771530</guid>
        <pubDate>Fri, 08 Jun 2018 07:09:06 +0000</pubDate>
        <title>&amp;quot;Новый взгляд&amp;quot; на контейнеры</title>
        <link>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3771530</link>
        <description><![CDATA[OpenGL: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413036&view=findpost&p=3771497'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>settler &#064; <time class="tag-quote__quoted-time" datetime="2018-06-07T21:06:05+00:00">07.06.18, 21:06</time></span><div class='quote '>Ты понимаешь как вектор добавляет новый елемент ?</div></div><br>
А почему ты спрашиваешь? Ты не догадываешься, что я  на этот вопрос отвечу? :D<br>
Ответь лучше на вопрос выше - почему мой код падает с bad_alloc в случае списка и не падает в случае вектора если вектор занимает памяти больше  :whistle:<br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Это сообщение было перенесено сюда или объединено из темы &quot;<a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=412298' target='_blank'>Что несет Бьёрн Страуструп?</a>&quot;</span></span>]]></description>
        <author>OpenGL</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3771497</guid>
        <pubDate>Thu, 07 Jun 2018 21:06:05 +0000</pubDate>
        <title>&amp;quot;Новый взгляд&amp;quot; на контейнеры</title>
        <link>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3771497</link>
        <description><![CDATA[settler: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413036&view=findpost&p=3771403'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>OpenGL &#064; <time class="tag-quote__quoted-time" datetime="2018-06-07T08:38:09+00:00">07.06.18, 08:38</time></span><div class='quote '>Это понятно. Тут спорят с бредом &quot;вектор потребляет больше памяти&quot;, которые его срасчёты вроде как по его мнению показывают.</div></div><br>
Ты понимаешь как вектор добавляет новый елемент ?<br>
Сколько он выделает памяти ? Сколько выделяет список ?<br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Это сообщение было перенесено сюда или объединено из темы &quot;<a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=412298' target='_blank'>Что несет Бьёрн Страуструп?</a>&quot;</span></span>]]></description>
        <author>settler</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3771403</guid>
        <pubDate>Thu, 07 Jun 2018 08:38:09 +0000</pubDate>
        <title>&amp;quot;Новый взгляд&amp;quot; на контейнеры</title>
        <link>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3771403</link>
        <description><![CDATA[OpenGL: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413036&view=findpost&p=3771396'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Олег М &#064; <time class="tag-quote__quoted-time" datetime="2018-06-07T07:29:48+00:00">07.06.18, 07:29</time></span><div class='quote '>В реальных задачах память всегда дефрагментирована и bsd_alloc, когда ты пытаешься выделить один большой кусок памяти, случится гораздо вероятнее, чем когда вделяешь много маленьких.<br>
</div></div><br>
Это понятно. Тут спорят с бредом &quot;вектор потребляет больше памяти&quot;, которые его срасчёты вроде как по его мнению показывают.<br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Это сообщение было перенесено сюда или объединено из темы &quot;<a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=412298' target='_blank'>Что несет Бьёрн Страуструп?</a>&quot;</span></span>]]></description>
        <author>OpenGL</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3771396</guid>
        <pubDate>Thu, 07 Jun 2018 07:29:48 +0000</pubDate>
        <title>&amp;quot;Новый взгляд&amp;quot; на контейнеры</title>
        <link>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3771396</link>
        <description><![CDATA[Олег М: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413036&view=findpost&p=3771386'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>OpenGL &#064; <time class="tag-quote__quoted-time" datetime="2018-06-07T06:48:54+00:00">07.06.18, 06:48</time></span><div class='quote '>Если ты заменишь std::list в последнем примере на std::vector - внезапно всё отработает. Как это поведение объяснимо в твоей картине мира?  </div></div><br>
В реальных задачах память всегда дефрагментирована и bsd_alloc, когда ты пытаешься выделить один большой кусок памяти, случится гораздо вероятнее, чем когда вделяешь много маленьких.<br>
<br>
Вообще, сравнивать vector и list - это примерно как сравнивать пароход с паровозом - который из них лучше? <br>
Это совершенно разные структуры для реализации разных задач. Проблемы возникают ене потому что, один хуже или лучше другого, а потому, что для решения конкретной задачи используется не тот контейнер.<br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Это сообщение было перенесено сюда или объединено из темы &quot;<a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=412298' target='_blank'>Что несет Бьёрн Страуструп?</a>&quot;</span></span>]]></description>
        <author>Олег М</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3771386</guid>
        <pubDate>Thu, 07 Jun 2018 06:48:54 +0000</pubDate>
        <title>&amp;quot;Новый взгляд&amp;quot; на контейнеры</title>
        <link>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3771386</link>
        <description><![CDATA[OpenGL: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413036&view=findpost&p=3770863'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>settler &#064; <time class="tag-quote__quoted-time" datetime="2018-06-01T13:27:17+00:00">01.06.18, 13:27</time></span><div class='quote '>Не Вероятно, bad_alloc может у вектора случиться раньше , а случиться на 100%,<br>
</div></div><br>
То есть <a class='tag-url' href='https://wandbox.org/permlink/BWjd4prQ6ehGtB6z' target='_blank'>вот тут</a> произошло событие с нулевой вероятностью? :D<br>
<div class="tag-spoiler spoiler closed"><div class="spoiler_header" onclick="openCloseParent(this)">Code</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">#include &#60;vector&#62;</div><div class="code_line">#include &#60;vector&#62;</div><div class="code_line">#include &#60;algorithm&#62;</div><div class="code_line">#include &#60;iostream&#62;</div><div class="code_line">#include &#60;map&#62;</div><div class="code_line">#include &#60;optional&#62;</div><div class="code_line">#include &#60;memory&#62;</div><div class="code_line">#include &#60;type_traits&#62;</div><div class="code_line">#include &#60;list&#62;</div><div class="code_line">#include &#60;sys/time.h&#62;</div><div class="code_line">#include &#60;sys/resource.h&#62;</div><div class="code_line">&nbsp;</div><div class="code_line">template&#60;class C&#62; void gen()</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;C v; &nbsp; &nbsp; &nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;for(int i = 0; i &#60; 5000; ++i) v.push_back(i);</div><div class="code_line">}</div><div class="code_line">&nbsp;</div><div class="code_line">int main()</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;rlimit lim;</div><div class="code_line">&nbsp;&nbsp; &nbsp;lim.rlim_cur = 0;</div><div class="code_line">&nbsp;&nbsp; &nbsp;lim.rlim_max = 1000000;</div><div class="code_line">&nbsp;&nbsp; &nbsp;setrlimit(RLIMIT_AS, &amp;lim);</div><div class="code_line">&nbsp;&nbsp; &nbsp;gen&#60;std::vector&#60;int&#62;&#62;();</div><div class="code_line">&nbsp;&nbsp; &nbsp;std::cout &#60;&#60; &quot;Vector was generated\n&quot;;</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;//gen&#60;std::vector&#60;int&#62;&#62;();</div><div class="code_line">&nbsp;&nbsp; &nbsp;//std::cout &#60;&#60; &quot;Vector2 was generated\n&quot;;</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;gen&#60;std::list&#60;int&#62;&#62;();</div><div class="code_line">&nbsp;&nbsp; &nbsp;std::cout &#60;&#60; &quot;List was generated\n&quot;;</div><div class="code_line">}</div><div class="code_line">}</div></ol></div></div></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">terminate called after throwing an instance of &#39;St9bad_alloc&#39;</div><div class="code_line">Vector was generated</div><div class="code_line">&nbsp;&nbsp;what(): &nbsp;std::bad_alloc</div><div class="code_line">Aborted</div></ol></div></div></div></div><br>
</div></div><br>
Если ты заменишь std::list в последнем примере на std::vector - внезапно всё отработает. Как это поведение объяснимо в твоей картине мира?  :D<br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Это сообщение было перенесено сюда или объединено из темы &quot;<a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=412298' target='_blank'>Что несет Бьёрн Страуструп?</a>&quot;</span></span>]]></description>
        <author>OpenGL</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3770875</guid>
        <pubDate>Fri, 01 Jun 2018 15:17:44 +0000</pubDate>
        <title>&amp;quot;Новый взгляд&amp;quot; на контейнеры</title>
        <link>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3770875</link>
        <description><![CDATA[Qraizer: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413036&view=findpost&p=3770863'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>settler &#064; <time class="tag-quote__quoted-time" datetime="2018-06-01T13:27:17+00:00">01.06.18, 13:27</time></span><div class='quote '>Скорее книгу по Data Structures, или OS, лет так 15-20назад </div></div>Не-а. Стандарт языка.<br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Это сообщение было перенесено сюда или объединено из темы &quot;<a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=412298' target='_blank'>Что несет Бьёрн Страуструп?</a>&quot;</span></span>]]></description>
        <author>Qraizer</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3770868</guid>
        <pubDate>Fri, 01 Jun 2018 14:31:52 +0000</pubDate>
        <title>&amp;quot;Новый взгляд&amp;quot; на контейнеры</title>
        <link>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3770868</link>
        <description><![CDATA[JoeUser: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413036&view=findpost&p=3770859'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>settler &#064; <time class="tag-quote__quoted-time" datetime="2018-06-01T13:02:57+00:00">01.06.18, 13:02</time></span><div class='quote '>проверь сам</div></div><br>
<div class="tag-mod"><div class="tag-mod__prefix">M</div><div class="tag-mod__body"><strong class='tag-b'>settler</strong>, давай доказательства своих расчетов в студию&#33;<br>
<br>
Пиши код, показывай <strong class='tag-b'>суммарные</strong> аллокации памяти &#40;<strong class='tag-b'>включая твои пресловутые attributes</strong>&#41;, у вектора и листа. Если этого не будет, я посчитаю твой пост от начала и до конца - демагогией и троллингом. Выводы и действия себя ждать не заставят - просто возьми и поверь мне.</div></div><br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Это сообщение было перенесено сюда или объединено из темы &quot;<a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=412298' target='_blank'>Что несет Бьёрн Страуструп?</a>&quot;</span></span>]]></description>
        <author>JoeUser</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3770867</guid>
        <pubDate>Fri, 01 Jun 2018 14:30:00 +0000</pubDate>
        <title>&amp;quot;Новый взгляд&amp;quot; на контейнеры</title>
        <link>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3770867</link>
        <description><![CDATA[settler: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413036&view=findpost&p=3770864'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>JoeUser &#064; <time class="tag-quote__quoted-time" datetime="2018-06-01T14:00:02+00:00">01.06.18, 14:00</time></span><div class='quote '><div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413036&view=findpost&p=3770859'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>settler &#064; <time class="tag-quote__quoted-time" datetime="2018-06-01T13:02:57+00:00">01.06.18, 13:02</time></span><div class='quote '> у вектора есть внутренние attributes,</div></div><br>
А у списка нет?</div></div><br>
А зачем они ему?<br>
Хотя проверь а тo мало ли  ;)<br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Это сообщение было перенесено сюда или объединено из темы &quot;<a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=412298' target='_blank'>Что несет Бьёрн Страуструп?</a>&quot;</span></span>]]></description>
        <author>settler</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3770864</guid>
        <pubDate>Fri, 01 Jun 2018 14:00:02 +0000</pubDate>
        <title>&amp;quot;Новый взгляд&amp;quot; на контейнеры</title>
        <link>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3770864</link>
        <description><![CDATA[JoeUser: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413036&view=findpost&p=3770859'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>settler &#064; <time class="tag-quote__quoted-time" datetime="2018-06-01T13:02:57+00:00">01.06.18, 13:02</time></span><div class='quote '> у вектора есть внутренние attributes,</div></div><br>
А у списка нет?<br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Это сообщение было перенесено сюда или объединено из темы &quot;<a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=412298' target='_blank'>Что несет Бьёрн Страуструп?</a>&quot;</span></span>]]></description>
        <author>JoeUser</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3770863</guid>
        <pubDate>Fri, 01 Jun 2018 13:27:17 +0000</pubDate>
        <title>&amp;quot;Новый взгляд&amp;quot; на контейнеры</title>
        <link>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3770863</link>
        <description><![CDATA[settler: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413036&view=findpost&p=3770751'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>OpenGL &#064; <time class="tag-quote__quoted-time" datetime="2018-05-31T07:50:20+00:00">31.05.18, 07:50</time></span><div class='quote '>Вероятно, bad_alloc может у вектора случиться раньше, чем у list-а, но это будет из-за невозможности найти непрерывный кусок памяти нужного размера, а вовсе не из-за того, что он больше занимает памяти.</div></div><br>
Не Вероятно, bad_alloc может у вектора случиться раньше , а случиться на 100%,<br>
<br>
Вероятность bad_alloc листа равна 0.00000001 ; <br>
<br>
Причину ты указал, расчеты мои ты не понял потому что я сравнивал <br>
с массивом, а sizeof(vector) eq sizeof(list), и применяемы они для разных целей,<br>
The second one is not instead of the first, it&#39;s in additional.<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="2018-06-01T13:33:17+00:00">01.06.18, 13:33</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413036&view=findpost&p=3770861'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Qraizer &#064; <time class="tag-quote__quoted-time" datetime="2018-06-01T13:26:13+00:00">01.06.18, 13:26</time></span><div class='quote '>Знаю. Только я ещё кое-что знаю, потому что документацию читал.</div></div><br>
Скорее книгу по Data Structures, или OS, лет так 15-20назад  ;) <br>
Это общие базовые/фундаментальные вещи не зависимые от ЯП,<br>
<br>
А алокатор как я уже понял совсем для других целей придуман.<br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Это сообщение было перенесено сюда или объединено из темы &quot;<a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=412298' target='_blank'>Что несет Бьёрн Страуструп?</a>&quot;</span></span>]]></description>
        <author>settler</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3770861</guid>
        <pubDate>Fri, 01 Jun 2018 13:26:13 +0000</pubDate>
        <title>&amp;quot;Новый взгляд&amp;quot; на контейнеры</title>
        <link>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3770861</link>
        <description><![CDATA[Qraizer: Знаю. Только я ещё кое-что знаю, потому что документацию читал.<br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Это сообщение было перенесено сюда или объединено из темы &quot;<a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=412298' target='_blank'>Что несет Бьёрн Страуструп?</a>&quot;</span></span>]]></description>
        <author>Qraizer</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3770859</guid>
        <pubDate>Fri, 01 Jun 2018 13:02:57 +0000</pubDate>
        <title>&amp;quot;Новый взгляд&amp;quot; на контейнеры</title>
        <link>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3770859</link>
        <description><![CDATA[settler: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413036&view=findpost&p=3770759'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Qraizer &#064; <time class="tag-quote__quoted-time" datetime="2018-05-31T11:55:13+00:00">31.05.18, 11:55</time></span><div class='quote '>Дай ссылку, где бы чётко показывалось, что не (n+1)*x</div></div><br>
man 3 realloc, или сорцы вектора, или , <br>
там есть умножение на два, чтобы выделить блок памяти<br>
когда size=upperLimit, нормальные люди перегружают исходя их конкретной<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="2018-06-01T13:10:30+00:00">01.06.18, 13:10</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413036&view=findpost&p=3770757'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>JoeUser &#064; <time class="tag-quote__quoted-time" datetime="2018-05-31T10:13:26+00:00">31.05.18, 10:13</time></span><div class='quote '><a class='tag-url' href='https://ideone.com/mwgKgA' target='_blank'>На, проверяй</a>:</div></div><br>
Ну проверил, алокаторы работают по разному, у вектора есть внутренние attributes,<br>
под которые память тоже выделаеться,<br>
<br>
проверь сам<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">&nbsp;&nbsp;vector&#60;int&#62; v;</div><div class="code_line">cout&#60;&#60; sizeof(v) ;</div><div class="code_line">vector&#60;int&#62; l;</div><div class="code_line">cout&#60;&#60; sizeof(l) ;</div></ol></div></div></div></div><br>
<br>
Если увидишь разницу то расскажешь  ;)<br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Это сообщение было перенесено сюда или объединено из темы &quot;<a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=412298' target='_blank'>Что несет Бьёрн Страуструп?</a>&quot;</span></span>]]></description>
        <author>settler</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3770759</guid>
        <pubDate>Thu, 31 May 2018 11:55:13 +0000</pubDate>
        <title>&amp;quot;Новый взгляд&amp;quot; на контейнеры</title>
        <link>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3770759</link>
        <description><![CDATA[Qraizer: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413036&view=findpost&p=3770746'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>settler &#064; <time class="tag-quote__quoted-time" datetime="2018-05-31T07:28:01+00:00">31.05.18, 07:28</time></span><div class='quote '>при добавке елемента sizeofVextor - 2*x*n , list - (n+1)(x+8)</div></div>Дай ссылку, где бы чётко показывалось, что не (n+1)*x <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="2018-05-31T12:00:44+00:00">31.05.18, 12:00</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413036&view=findpost&p=3770738'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>settler &#064; <time class="tag-quote__quoted-time" datetime="2018-05-31T06:30:43+00:00">31.05.18, 06:30</time></span><div class='quote '>out of memory и заставляет</div></div>А. Понятно. Не читатель.<br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Это сообщение было перенесено сюда или объединено из темы &quot;<a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=412298' target='_blank'>Что несет Бьёрн Страуструп?</a>&quot;</span></span>]]></description>
        <author>Qraizer</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3770757</guid>
        <pubDate>Thu, 31 May 2018 10:13:26 +0000</pubDate>
        <title>&amp;quot;Новый взгляд&amp;quot; на контейнеры</title>
        <link>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3770757</link>
        <description><![CDATA[JoeUser: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413036&view=findpost&p=3770746'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>settler &#064; <time class="tag-quote__quoted-time" datetime="2018-05-31T07:28:01+00:00">31.05.18, 07:28</time></span><div class='quote '>list больше на 8 байт это очевидно,<br>
если имеем x байт у вектора , то list - х+8 ,<br>
при размере n , sizeofVextor - *x*n , list - n(x+8)<br>
при добавке елемента sizeofVextor - 2*x*n , list - (n+1)(x+8)<br>
при больших n list меньше , если х большой то на 8 можно забить,<br>
<br>
Если програмист этого не знает, то он ламер. ;)</div></div><br>
Боже, какой бред&#33;  :wall: <br>
<br>
<a class='tag-url' href='https://ideone.com/mwgKgA' target='_blank'>На, проверяй</a>:<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">#include &#60;stdio.h&#62;</div><div class="code_line">#include &#60;memory&#62;</div><div class="code_line">#include &#60;vector&#62;</div><div class="code_line">#include &#60;list&#62;</div><div class="code_line">&nbsp;</div><div class="code_line">namespace mmap_allocator_namespace {</div><div class="code_line">&nbsp;&nbsp;template &#60;typename T&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp;class mmap_allocator: public std::allocator &#60;T&#62; {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;public: typedef size_t size_type;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;typedef T * pointer;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;typedef</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;const T * const_pointer;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;template &#60;typename _Tp1&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;struct rebind {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;typedef mmap_allocator &#60;_Tp1&#62; other;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;};</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;pointer allocate(size_type n,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;const void * hint = 0) {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;fprintf(stdout, &quot;Alloc %d bytes.\n&quot;, n * sizeof(T));</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;return std::allocator &#60;T&#62; ::allocate(n, hint);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;void deallocate(pointer p, size_type n) {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;fprintf(stdout, &quot;Dealloc %d bytes (%p).\n&quot;, n * sizeof(T), p);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;return std::allocator &#60;T&#62; ::deallocate(p, n);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;mmap_allocator() throw (): std::allocator &#60;T&#62; () {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;fprintf(stdout, &quot;Hello allocator!\n&quot;);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;mmap_allocator(const mmap_allocator &amp; a) throw (): std::allocator &#60;T&#62; (a) {}</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;template &#60;class U&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;mmap_allocator(const mmap_allocator &#60;U&#62; &amp; a) throw (): std::allocator &#60;T&#62; (a) {}~mmap_allocator() throw () {}</div><div class="code_line">&nbsp;&nbsp; &nbsp;};</div><div class="code_line">}</div><div class="code_line">&nbsp;</div><div class="code_line">using namespace std;</div><div class="code_line">using namespace mmap_allocator_namespace;</div><div class="code_line">&nbsp;</div><div class="code_line">int main() {</div><div class="code_line">&nbsp;&nbsp;// раскомментируем нужное:</div><div class="code_line">&nbsp;&nbsp;// vector&#60;int, mmap_allocator&#60;int&#62;&#62; int_vec(32, 0, mmap_allocator&#60;int&#62;());</div><div class="code_line">&nbsp;&nbsp;// list&#60;int, mmap_allocator&#60;int&#62;&#62; int_lst(32, 0, mmap_allocator&#60;int&#62;());</div><div class="code_line">&nbsp;&nbsp;return 0;</div><div class="code_line">}</div></ol></div></div></div></div><br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Это сообщение было перенесено сюда или объединено из темы &quot;<a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=412298' target='_blank'>Что несет Бьёрн Страуструп?</a>&quot;</span></span>]]></description>
        <author>JoeUser</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3770751</guid>
        <pubDate>Thu, 31 May 2018 07:50:20 +0000</pubDate>
        <title>&amp;quot;Новый взгляд&amp;quot; на контейнеры</title>
        <link>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3770751</link>
        <description><![CDATA[OpenGL: По-моему то, что ты написал, написать может только ламер  :crazy: Мало того, что написанные тобой якобы формулы - пустой набор символов, не несущих смысловой нагрузки, так ещё и вывод, который ты делаешь из них, очевидно неверный банально из-за того, что  list-у  на каждый элемент, помимо этого самого элемента, нужно хранить указатель на следующий. Вероятно, bad_alloc может у вектора случиться раньше, чем у list-а, но это будет из-за невозможности найти непрерывный кусок памяти нужного размера, а вовсе не из-за того, что он больше занимает памяти.<br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Это сообщение было перенесено сюда или объединено из темы &quot;<a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=412298' target='_blank'>Что несет Бьёрн Страуструп?</a>&quot;</span></span>]]></description>
        <author>OpenGL</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3770746</guid>
        <pubDate>Thu, 31 May 2018 07:28:01 +0000</pubDate>
        <title>&amp;quot;Новый взгляд&amp;quot; на контейнеры</title>
        <link>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3770746</link>
        <description><![CDATA[settler: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413036&view=findpost&p=3770743'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>OpenGL &#064; <time class="tag-quote__quoted-time" datetime="2018-05-31T07:05:36+00:00">31.05.18, 07:05</time></span><div class='quote '><div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413036&view=findpost&p=3770721'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>settler &#064; <time class="tag-quote__quoted-time" datetime="2018-05-30T21:00:52+00:00">30.05.18, 21:00</time></span><div class='quote '>Aга и получайте out of memory</div></div><br>
list и прочие контейнеры больше памяти жут, чем вектор, очевидно.</div></div><br>
list больше на 8 байт это очевидно, <br>
если имеем x байт у вектора , то list - х+8 ,<br>
при размере n , sizeofVextor - *x*n , list -  n(x+8)<br>
при добавке елемента sizeofVextor - 2*x*n , list -  (n+1)(x+8)<br>
при больших n list меньше , если х большой то на 8 можно забить, <br>
<br>
Если програмист этого не знает, то он ламер.  ;)<br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Это сообщение было перенесено сюда или объединено из темы &quot;<a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=412298' target='_blank'>Что несет Бьёрн Страуструп?</a>&quot;</span></span>]]></description>
        <author>settler</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3770743</guid>
        <pubDate>Thu, 31 May 2018 07:05:36 +0000</pubDate>
        <title>&amp;quot;Новый взгляд&amp;quot; на контейнеры</title>
        <link>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3770743</link>
        <description><![CDATA[OpenGL: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413036&view=findpost&p=3770721'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>settler &#064; <time class="tag-quote__quoted-time" datetime="2018-05-30T21:00:52+00:00">30.05.18, 21:00</time></span><div class='quote '>Aга и получайте out of memory</div></div><br>
list и прочие контейнеры больше памяти жут, чем вектор, очевидно.<br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Это сообщение было перенесено сюда или объединено из темы &quot;<a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=412298' target='_blank'>Что несет Бьёрн Страуструп?</a>&quot;</span></span>]]></description>
        <author>OpenGL</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3770738</guid>
        <pubDate>Thu, 31 May 2018 06:30:43 +0000</pubDate>
        <title>&amp;quot;Новый взгляд&amp;quot; на контейнеры</title>
        <link>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3770738</link>
        <description><![CDATA[settler: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413036&view=findpost&p=3770726'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Qraizer &#064; <time class="tag-quote__quoted-time" datetime="2018-05-30T23:08:12+00:00">30.05.18, 23:08</time></span><div class='quote '><strong class='tag-b'>settler</strong>, не хочешь, не трать. Кто тебя заставляет-то?</div></div><br>
out of memory и  заставляет ;)<br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Это сообщение было перенесено сюда или объединено из темы &quot;<a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=412298' target='_blank'>Что несет Бьёрн Страуструп?</a>&quot;</span></span>]]></description>
        <author>settler</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3770726</guid>
        <pubDate>Wed, 30 May 2018 23:08:12 +0000</pubDate>
        <title>&amp;quot;Новый взгляд&amp;quot; на контейнеры</title>
        <link>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3770726</link>
        <description><![CDATA[Qraizer: <strong class='tag-b'>settler</strong>, не хочешь, не трать. Кто тебя заставляет-то?<br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Это сообщение было перенесено сюда или объединено из темы &quot;<a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=412298' target='_blank'>Что несет Бьёрн Страуструп?</a>&quot;</span></span>]]></description>
        <author>Qraizer</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3770721</guid>
        <pubDate>Wed, 30 May 2018 21:00:52 +0000</pubDate>
        <title>&amp;quot;Новый взгляд&amp;quot; на контейнеры</title>
        <link>https://forum.sources.ru/index.php?showtopic=413036&amp;view=findpost&amp;p=3770721</link>
        <description><![CDATA[settler: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413036&view=findpost&p=3764185'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Qraizer &#064; <time class="tag-quote__quoted-time" datetime="2018-03-19T14:50:15+00:00">19.03.18, 14:50</time></span><div class='quote '>У Майерса один из советов был &quot;не знаете, какой контейнер использовать, берите вектор&quot;.</div></div><br>
Aга и получайте out of memory,  лучше бы он или другой кто , показал <br>
пример как использовать  аllocator, Я не хочу  на два умножать и тратить память<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="2018-05-30T21:13:51+00:00">30.05.18, 21:13</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413036&view=findpost&p=3764177'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>applegame &#064; <time class="tag-quote__quoted-time" datetime="2018-03-19T13:35:39+00:00">19.03.18, 13:35</time></span><div class='quote '>Он предлагает никогда не использовать связные списки? Совсем что-ли тронулся умом старый?<br>
<a class='tag-url' href='https://www.youtube.com/watch?v=YQs6IC-vgmo' target='_blank'>https://www.youtube.com/watch?v=YQs6IC-vgmo</a></div></div><br>
Где ты услышал слово никогда? Он говорит почему не стоит юзать,<br>
хотя и <strong class='tag-b'>не говорит</strong> почему таки иногда его пользовать таки стоит, ;)<br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Это сообщение было перенесено сюда или объединено из темы &quot;<a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=412298' target='_blank'>Что несет Бьёрн Страуструп?</a>&quot;</span></span><br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Эта тема была разделена из темы &quot;<a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=413035' target='_blank'>Новый взгляд на контейнеры</a>&quot;</span></span>]]></description>
        <author>settler</author>
        <category>Holy Wars</category>
      </item>
	
      </channel>
      </rss>
	