<?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=73935&amp;view=findpost&amp;p=526520</guid>
        <pubDate>Mon, 29 Nov 2004 07:43:20 +0000</pubDate>
        <title>delete и delete []</title>
        <link>https://forum.sources.ru/index.php?showtopic=73935&amp;view=findpost&amp;p=526520</link>
        <description><![CDATA[Sazabis: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <span class='tag-quote__quote-info'>Unknown_Error, 26.11.04, 18:45, 524703</span><div class='quote '>А методом никак? </div></div><br>
так это и пишется обычно в деструкторе. Или методе clear/pop/remove и тому подобных. Если у тебя возникает необходимость часто писать подобное в теле самой программы, пересмотри иерархию своих объектов, может стоит сделать класс-обертку для чего то...]]></description>
        <author>Sazabis</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=73935&amp;view=findpost&amp;p=524795</guid>
        <pubDate>Fri, 26 Nov 2004 17:49:56 +0000</pubDate>
        <title>delete и delete []</title>
        <link>https://forum.sources.ru/index.php?showtopic=73935&amp;view=findpost&amp;p=524795</link>
        <description><![CDATA[byte: ИМХО, самый нормальный вариант - заменить простые поинтеры смарт-поинтерами.<br>
Например, boost::shared_ptr&lt;T&gt;. <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;'>Добавлено <time class="tag-mergetime" datetime="2004-11-26T17:50:52+00:00">26.11.04, 17:50</time></span></span><br>
З.Ы: а указатель this нельзя изменять, ибо он константный :yes: <br>
Соответственно, все твои присваивания ему NULL&#39;а не работают.]]></description>
        <author>byte</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=73935&amp;view=findpost&amp;p=524703</guid>
        <pubDate>Fri, 26 Nov 2004 15:45:41 +0000</pubDate>
        <title>delete и delete []</title>
        <link>https://forum.sources.ru/index.php?showtopic=73935&amp;view=findpost&amp;p=524703</link>
        <description><![CDATA[Unknown_Error: Воть, я и хотел такую штуку замутить, только я хотел ее сделать, как метод&#33;<br>А методом никак?]]></description>
        <author>Unknown_Error</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=73935&amp;view=findpost&amp;p=524692</guid>
        <pubDate>Fri, 26 Nov 2004 15:38:14 +0000</pubDate>
        <title>delete и delete []</title>
        <link>https://forum.sources.ru/index.php?showtopic=73935&amp;view=findpost&amp;p=524692</link>
        <description><![CDATA[Sazabis: Неизвестно что может произойти, малоли что там по указателю после первого delete. За частую будешь ловить exception.<br>
делай delete MyObj, MyObj = NULL;<br>
тогда второй delete MyObj не должен сработать по стандарту. Для полной уверенности можешь писать так<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">if( MyObj )delete MyObj, MyObj = NULL;</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script>]]></description>
        <author>Sazabis</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=73935&amp;view=findpost&amp;p=524683</guid>
        <pubDate>Fri, 26 Nov 2004 15:33:33 +0000</pubDate>
        <title>delete и delete []</title>
        <link>https://forum.sources.ru/index.php?showtopic=73935&amp;view=findpost&amp;p=524683</link>
        <description><![CDATA[ViGOur: На втором delete программа тебе скажет #&#036;%%&#036;&amp;&amp;^&#33;@#...  :)]]></description>
        <author>ViGOur</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=73935&amp;view=findpost&amp;p=524642</guid>
        <pubDate>Fri, 26 Nov 2004 14:52:04 +0000</pubDate>
        <title>delete и delete []</title>
        <link>https://forum.sources.ru/index.php?showtopic=73935&amp;view=findpost&amp;p=524642</link>
        <description><![CDATA[Unknown_Error: хорошо, что произойдет если я сделаю так<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">delete MyObj;</div><div class="code_line">delete MyObj;</div></ol></div></div></div></div>]]></description>
        <author>Unknown_Error</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=73935&amp;view=findpost&amp;p=524623</guid>
        <pubDate>Fri, 26 Nov 2004 14:37:30 +0000</pubDate>
        <title>delete и delete []</title>
        <link>https://forum.sources.ru/index.php?showtopic=73935&amp;view=findpost&amp;p=524623</link>
        <description><![CDATA[ViGOur: В С++ этого не нужно делать&#33;<br>Так как обькт создается при вызове конструктора, а убивается при вызове деструктора.<br>Если тебе прям необходимо очистить обьект, до конца модуля, вызови деструктор для данного обьекта и все...]]></description>
        <author>ViGOur</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=73935&amp;view=findpost&amp;p=524613</guid>
        <pubDate>Fri, 26 Nov 2004 14:28:22 +0000</pubDate>
        <title>delete и delete []</title>
        <link>https://forum.sources.ru/index.php?showtopic=73935&amp;view=findpost&amp;p=524613</link>
        <description><![CDATA[Unknown_Error: Ок...<br>
Объясняю по нормальному<br>
<br>
вообщем хотел я сделать такую штуку,если кто работал в Дельфи, то там видел, что у каждого объекта есть метод Free который проверяет пустой ли указатель (ну всмысле равен NULL), если нет то он удаляет объект<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Они у тебя разных типов что ли? Не совсем понятна причина траблы.. код то твой?</div></div><br>
<br>
Если бы они были разных типов, то я не думаю, что они бы могли (ну по крайней мере все) вызвать метод данного объекта...<br>
<br>
Тьфу ты, да точно извиняюсь я свой пост тот, что выше неправильно изложил...]]></description>
        <author>Unknown_Error</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=73935&amp;view=findpost&amp;p=524560</guid>
        <pubDate>Fri, 26 Nov 2004 13:57:21 +0000</pubDate>
        <title>delete и delete []</title>
        <link>https://forum.sources.ru/index.php?showtopic=73935&amp;view=findpost&amp;p=524560</link>
        <description><![CDATA[ViGOur: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <span class='tag-quote__quote-info'>Unknown_Error &#064; 26.11.04, 15:35</span><div class='quote '>Как сделать, чтобы при удалении объекта, его указатель становился равным NULL?</div></div><br>
Не понятно, а для чего тебе это?  :huh: <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;'>Добавлено <time class="tag-mergetime" datetime="2004-11-26T13:58:44+00:00">26.11.04, 13:58</time></span></span><br>
Просто если у тебя есть указатель на класс TMy в каком либо другом классе, например в CClass,<br>
то в CClass и присваивай данному указателю NULL... <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;'>Добавлено <time class="tag-mergetime" datetime="2004-11-26T14:16:01+00:00">26.11.04, 14:16</time></span></span><br>
Блин, тебе что нужно сделать подсчет ссылок?<br>
А именно следить за количеством указателей, ссылающихся на обьект, <br>
и когда счетчик становится равным 0, объект удаляется.<br>
<br>
Или если я не правильно понял, то обьясни подробней, что тебе нужно???]]></description>
        <author>ViGOur</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=73935&amp;view=findpost&amp;p=524552</guid>
        <pubDate>Fri, 26 Nov 2004 13:51:08 +0000</pubDate>
        <title>delete и delete []</title>
        <link>https://forum.sources.ru/index.php?showtopic=73935&amp;view=findpost&amp;p=524552</link>
        <description><![CDATA[Sazabis: после delete my_variable<br>вызовется<br>TMy::~TMy()<br>{<br>   ...<br>//   this = NULL; // Ругается&#33;<br>//   this == my_variable&#33;&#33;, та что выше была delete<br>}]]></description>
        <author>Sazabis</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=73935&amp;view=findpost&amp;p=524537</guid>
        <pubDate>Fri, 26 Nov 2004 13:35:31 +0000</pubDate>
        <title>delete и delete []</title>
        <link>https://forum.sources.ru/index.php?showtopic=73935&amp;view=findpost&amp;p=524537</link>
        <description><![CDATA[AQL: Не понял?..<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '><br>
Но вся трабла заключается в том, что у меня указателей несколько, и какой именно вызвал этот метод мне незвестен.<br>
</div></div><br>
<br>
?<br>
Они у тебя разных типов что ли? Не совсем понятна причина траблы.. код то твой?]]></description>
        <author>AQL</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=73935&amp;view=findpost&amp;p=524535</guid>
        <pubDate>Fri, 26 Nov 2004 13:30:19 +0000</pubDate>
        <title>delete и delete []</title>
        <link>https://forum.sources.ru/index.php?showtopic=73935&amp;view=findpost&amp;p=524535</link>
        <description><![CDATA[Unknown_Error: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <span class='tag-quote__quote-info'>Sazabis, 26.11.04, 12:40</span><div class='quote '>TMy *my_variable = new TMy;<br>
<br>
delete my_variable, my_variable = NULL; </div></div><br>
<br>
Так то оно так, так как не может быть иначе&#33;  :lol: <br>
Но вся трабла заключается в том, что у меня указателей несколько, и какой именно вызвал этот метод мне незвестен.]]></description>
        <author>Unknown_Error</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=73935&amp;view=findpost&amp;p=524478</guid>
        <pubDate>Fri, 26 Nov 2004 12:40:16 +0000</pubDate>
        <title>delete и delete []</title>
        <link>https://forum.sources.ru/index.php?showtopic=73935&amp;view=findpost&amp;p=524478</link>
        <description><![CDATA[Sazabis: TMy *my_variable = new TMy;<br>
<br>
delete my_variable, <strong class='tag-b'>my_variable = NULL</strong>;]]></description>
        <author>Sazabis</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=73935&amp;view=findpost&amp;p=524476</guid>
        <pubDate>Fri, 26 Nov 2004 12:38:41 +0000</pubDate>
        <title>delete и delete []</title>
        <link>https://forum.sources.ru/index.php?showtopic=73935&amp;view=findpost&amp;p=524476</link>
        <description><![CDATA[AQL: Его указатель или указатель на него? Второе будет выполнено автоматически, если удаляешь как<br>
delete (одного указателя) или delete [] (целого массива). Если первое, то можешь сделать delete this, но это в общем то, не нужно. Если у тебя объект НЕ используется как указатель, то указатель на this будет автоматически удалён после действий деструктора. Если не доверяешь - можешь это прописать явно.]]></description>
        <author>AQL</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=73935&amp;view=findpost&amp;p=524470</guid>
        <pubDate>Fri, 26 Nov 2004 12:35:18 +0000</pubDate>
        <title>delete и delete []</title>
        <link>https://forum.sources.ru/index.php?showtopic=73935&amp;view=findpost&amp;p=524470</link>
        <description><![CDATA[Unknown_Error: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <span class='tag-quote__quote-info'>Adil, 26.11.04, 06:50</span><div class='quote '>Проверить, что его значение равно значению инициализации... Или что имелось ввиду? </div></div><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">TMy::~TMy()</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; ...</div><div class="code_line">&nbsp;&nbsp; this = NULL; // Ругается!</div><div class="code_line">}</div></ol></div></div></div></div><br>
<br>
Как сделать, чтобы при удалении объекта, его указатель становился равным NULL?]]></description>
        <author>Unknown_Error</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=73935&amp;view=findpost&amp;p=524195</guid>
        <pubDate>Fri, 26 Nov 2004 09:59:54 +0000</pubDate>
        <title>delete и delete []</title>
        <link>https://forum.sources.ru/index.php?showtopic=73935&amp;view=findpost&amp;p=524195</link>
        <description><![CDATA[byte: Вообще по стандарту, если применить delete к массиву, - undefined behavior:<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '><br>
In the  first  alternative  (delete  object), the value of <strong class='tag-b'>the operand of delete shall be a pointer to a non-array  object</strong>  created  by  a  new-expression, or a pointer to a sub-object representing a base class of such an object. <strong class='tag-b'>If not, the  behavior is undefined.</strong><br>
</div></div><br>
Чаще всего это UB выражается невызовом деструкторов для всех элементов массива.]]></description>
        <author>byte</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=73935&amp;view=findpost&amp;p=523941</guid>
        <pubDate>Fri, 26 Nov 2004 06:50:40 +0000</pubDate>
        <title>delete и delete []</title>
        <link>https://forum.sources.ru/index.php?showtopic=73935&amp;view=findpost&amp;p=523941</link>
        <description><![CDATA[Adil: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <span class='tag-quote__quote-info'>Unknown_Error, 26.11.04, 06:59</span><div class='quote '>Пиплз, объясните мне пожалуйста в чем разница между delete и delete []...?</div></div> delete[] обычно используется для удаления динам. массива, а не одиночного объекта. Для массивов типов, у которых нет деструкторов, можно использовать и delete, хотя это - моветон. Если же у типа есть деструктор, то использовать delete для массива таких объектов нельзя - деструктор будет вызван только для 0-ого элемента.<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <span class='tag-quote__quote-info'>Unknown_Error, 26.11.04, 06:59</span><div class='quote '>Почему при удалении объекта delete [] вылетает &quot;даже имени не спросив&quot;?</div></div>А это уже надо в код глянуть<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <span class='tag-quote__quote-info'>Unknown_Error, 26.11.04, 06:59</span><div class='quote '>Да совсем забыл, как определить проинициализирован ли объект?</div></div>Проверить, что его значение равно значению инициализации... Или что имелось ввиду?]]></description>
        <author>Adil</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=73935&amp;view=findpost&amp;p=523866</guid>
        <pubDate>Fri, 26 Nov 2004 02:59:45 +0000</pubDate>
        <title>delete и delete []</title>
        <link>https://forum.sources.ru/index.php?showtopic=73935&amp;view=findpost&amp;p=523866</link>
        <description><![CDATA[Unknown_Error: Hi everybody&#33;  :D <br>
<br>
Пиплз, объясните мне пожалуйста в чем разница между delete и delete []...?<br>
Почему при удалении объекта delete [] вылетает &quot;даже имени не спросив&quot;?<br>
<br>
Да совсем забыл, как определить проинициализирован ли объект?]]></description>
        <author>Unknown_Error</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      </channel>
      </rss>
	