<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Frage zur std vector clear Methode]]></title><description><![CDATA[<p>Hallo !</p>
<p>Ich habe einen Vektor aus Zeigern, d.h.</p>
<pre><code class="language-cpp">vector&lt;T*&gt;* v = new vector&lt;T*&gt;();
v-&gt;push_back( new T() );
v-&gt;push_back( new T() );
v-&gt;clear();
</code></pre>
<p>Sind nach dem v.clear() eigentlich auch die Speicherbereiche für die Ts wieder frei ?</p>
<p>Grüße<br />
Tom</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/148310/frage-zur-std-vector-clear-methode</link><generator>RSS for Node</generator><lastBuildDate>Fri, 04 Sep 2026 20:47:11 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/148310.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 25 May 2006 13:41:10 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Frage zur std vector clear Methode on Thu, 25 May 2006 13:41:10 GMT]]></title><description><![CDATA[<p>Hallo !</p>
<p>Ich habe einen Vektor aus Zeigern, d.h.</p>
<pre><code class="language-cpp">vector&lt;T*&gt;* v = new vector&lt;T*&gt;();
v-&gt;push_back( new T() );
v-&gt;push_back( new T() );
v-&gt;clear();
</code></pre>
<p>Sind nach dem v.clear() eigentlich auch die Speicherbereiche für die Ts wieder frei ?</p>
<p>Grüße<br />
Tom</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1064887</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1064887</guid><dc:creator><![CDATA[TomDaHomm]]></dc:creator><pubDate>Thu, 25 May 2006 13:41:10 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur std vector clear Methode on Thu, 25 May 2006 13:41:51 GMT]]></title><description><![CDATA[<p>nein</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1064888</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1064888</guid><dc:creator><![CDATA[Spacelord]]></dc:creator><pubDate>Thu, 25 May 2006 13:41:51 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur std vector clear Methode on Thu, 25 May 2006 14:12:39 GMT]]></title><description><![CDATA[<p>D.h. dann, daß ich das so machen muß ?</p>
<pre><code class="language-cpp">vector&lt;T*&gt;* v = new vector&lt;T*&gt;();
v-&gt;push_back( new T() );
v-&gt;push_back( new T() );
for( unsigned int i = 0 ; i &lt; v-&gt;size() ; ++i )
   delete v-&gt;at(i);
v-&gt;clear();
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1064908</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1064908</guid><dc:creator><![CDATA[TomDaHomm]]></dc:creator><pubDate>Thu, 25 May 2006 14:12:39 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur std vector clear Methode on Thu, 25 May 2006 14:32:23 GMT]]></title><description><![CDATA[<p>Ja. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Du kannst aber auch (und das ist sinnvoll, wenn es darum geht, polymorphe Objekte zu verwalten) den entsprechenden <a href="http://www.boost.org/libs/ptr_container/doc/ptr_container.html" rel="nofollow">Boost.PointerContainer</a><br />
(also <a href="http://www.boost.org/libs/ptr_container/doc/ptr_vector.html" rel="nofollow">ptr_vector</a>) verwenden.</p>
<p>Außerdem solltest du dir angewöhnen, Iteratoren zu verwenden, bzw. etwas aus &lt;algorithm&gt;:</p>
<pre><code class="language-cpp">void do_delete (T* p)
{
    delete p;
}
// ...
std::for_each (v-&gt;begin (), v-&gt;end (), do_delete);
// oder
for (vector&lt;T*&gt;::iterator i = v-&gt;begin (); i != v-&gt;end (); ++i)
    delete *i;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1064923</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1064923</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Thu, 25 May 2006 14:32:23 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur std vector clear Methode on Thu, 25 May 2006 14:36:00 GMT]]></title><description><![CDATA[<p>Um sich aber bei den Iteratoren nicht nen Finger zu brechen, weil die Definitionen unendlich lang werden, sollte man ein typedef für seinen Container definieren. Naja, zum Glück wird mit C++0x alles besser, da schreibt man dann nur auto hin. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1064925</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1064925</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Thu, 25 May 2006 14:36:00 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur std vector clear Methode on Thu, 25 May 2006 15:37:26 GMT]]></title><description><![CDATA[<p>Okay, wenn ich dann also nur v-&gt;clear() aufrufe bleibt der Speicher belegt, so daß ich defacto niemals wieder drauf zugreifen kann (falls ich keine Sicherheitskopie des Pointers gemacht habe).</p>
<p>Wenn ich das Programm jetzt beende, was passiert dann mit dem allozierten Speicher. Wird der vom Betriebssystem automatisch wieder frei gegeben ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1064974</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1064974</guid><dc:creator><![CDATA[Tom___]]></dc:creator><pubDate>Thu, 25 May 2006 15:37:26 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur std vector clear Methode on Thu, 25 May 2006 15:43:58 GMT]]></title><description><![CDATA[<p>.filmor schrieb:</p>
<blockquote>
<p>Du kannst aber auch (und das ist sinnvoll, wenn es darum geht, polymorphe Objekte zu verwalten) den entsprechenden <a href="http://www.boost.org/libs/ptr_container/doc/ptr_container.html" rel="nofollow">Boost.PointerContainer</a><br />
(also <a href="http://www.boost.org/libs/ptr_container/doc/ptr_vector.html" rel="nofollow">ptr_vector</a>) verwenden.</p>
</blockquote>
<p>Bisher sollte man lieber noch die Finger von Boost lassen.<br />
Es ist noch nicht komplett sicher, was davon in den Standard übernommen wird. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1064975</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1064975</guid><dc:creator><![CDATA[noboost]]></dc:creator><pubDate>Thu, 25 May 2006 15:43:58 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur std vector clear Methode on Thu, 25 May 2006 15:52:22 GMT]]></title><description><![CDATA[<p>noboost schrieb:</p>
<blockquote>
<p>.filmor schrieb:</p>
<blockquote>
<p>Du kannst aber auch (und das ist sinnvoll, wenn es darum geht, polymorphe Objekte zu verwalten) den entsprechenden <a href="http://www.boost.org/libs/ptr_container/doc/ptr_container.html" rel="nofollow">Boost.PointerContainer</a><br />
(also <a href="http://www.boost.org/libs/ptr_container/doc/ptr_vector.html" rel="nofollow">ptr_vector</a>) verwenden.</p>
</blockquote>
<p>Bisher sollte man lieber noch die Finger von Boost lassen.<br />
Es ist noch nicht komplett sicher, was davon in den Standard übernommen wird. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
</blockquote>
<p>Und welche Relevanz hat das?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1064982</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1064982</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Thu, 25 May 2006 15:52:22 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur std vector clear Methode on Thu, 25 May 2006 15:56:36 GMT]]></title><description><![CDATA[<blockquote>
<p>Und welche Relevanz hat das?</p>
</blockquote>
<p>Ganz einfach.<br />
Um seine Projekte standardkonform zu halten (sollte eigentliche oberste Prioität eines jeden C++ Programmierers sein) Finger weg von Boost. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /><br />
Ist das nicht Relevant genug ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1064983</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1064983</guid><dc:creator><![CDATA[noboost]]></dc:creator><pubDate>Thu, 25 May 2006 15:56:36 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur std vector clear Methode on Thu, 25 May 2006 16:02:06 GMT]]></title><description><![CDATA[<p>Vor allen Dingen gibt es eine standardkonforme Möglichkeit, die hier auch schon gepostet wurde, und der &quot;Boost Variante&quot; vorzuziehen ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1064988</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1064988</guid><dc:creator><![CDATA[noboost]]></dc:creator><pubDate>Thu, 25 May 2006 16:02:06 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur std vector clear Methode on Thu, 25 May 2006 16:04:06 GMT]]></title><description><![CDATA[<p>seit wann sind projekte, die boost verwenden, NICHT standardkonform (per se) ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1064989</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1064989</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Thu, 25 May 2006 16:04:06 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur std vector clear Methode on Thu, 25 May 2006 16:34:45 GMT]]></title><description><![CDATA[<p>*lol*<br />
seitdem boost nicht standard ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1065010</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1065010</guid><dc:creator><![CDATA[booster]]></dc:creator><pubDate>Thu, 25 May 2006 16:34:45 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur std vector clear Methode on Thu, 25 May 2006 16:49:51 GMT]]></title><description><![CDATA[<p>camper schrieb:</p>
<blockquote>
<p>seit wann sind projekte, die boost verwenden, NICHT standardkonform (per se) ?</p>
</blockquote>
<p>Jaja es gibt jetzt sogar schon Leute die meinen boost ist standard, nur weil sie es täglich nutzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1065017</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1065017</guid><dc:creator><![CDATA[fraggs]]></dc:creator><pubDate>Thu, 25 May 2006 16:49:51 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur std vector clear Methode on Thu, 25 May 2006 16:58:11 GMT]]></title><description><![CDATA[<p>Verdammt, trollt woanders. Standardkonform heißt, dass etwas dem Standard entspricht, nicht, dass es im Standard festgelegt ist. Jedes sprachlich richtige Codefragment ist standardkonform.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1065023</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1065023</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Thu, 25 May 2006 16:58:11 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur std vector clear Methode on Thu, 25 May 2006 17:06:11 GMT]]></title><description><![CDATA[<blockquote>
<p>Verdammt, trollt woanders.</p>
</blockquote>
<p>dito. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
<p>boost != standard == bost != standardkonform</p>
<p>kapier es endlich, oder les dich schlau du trollnase.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1065029</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1065029</guid><dc:creator><![CDATA[booster]]></dc:creator><pubDate>Thu, 25 May 2006 17:06:11 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur std vector clear Methode on Thu, 25 May 2006 17:37:19 GMT]]></title><description><![CDATA[<p>**rofl**</p>
<p>und die Borland Vcl,QT etc. ist auch Standard.</p>
<p>Echt cool was sich hier für Leute outen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1065048</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1065048</guid><dc:creator><![CDATA[unbeteiligter]]></dc:creator><pubDate>Thu, 25 May 2006 17:37:19 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur std vector clear Methode on Thu, 25 May 2006 22:28:33 GMT]]></title><description><![CDATA[<p>Wenns danach geht, hätten C++-Programme keine GUI, keine 3D-Grafik, kein Netzwerk... ja, sie könnten nicht mal den Konsoleninhalt löschen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1065158</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1065158</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Thu, 25 May 2006 22:28:33 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur std vector clear Methode on Fri, 26 May 2006 16:20:31 GMT]]></title><description><![CDATA[<p>Eure eigenen Klassen sind dann wohl auch nicht Standardkonform <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1065646</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1065646</guid><dc:creator><![CDATA[THX 1138]]></dc:creator><pubDate>Fri, 26 May 2006 16:20:31 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur std vector clear Methode on Fri, 26 May 2006 18:47:28 GMT]]></title><description><![CDATA[<p>Okay, wenn ich dann also nur v-&gt;clear() aufrufe bleibt der Speicher belegt, so daß ich defacto niemals wieder drauf zugreifen kann (falls ich keine Sicherheitskopie des Pointers gemacht habe).</p>
<p>Wenn ich das Programm jetzt beende, was passiert dann mit dem allozierten Speicher. Wird der vom Betriebssystem automatisch wieder frei gegeben ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1065752</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1065752</guid><dc:creator><![CDATA[Tom____]]></dc:creator><pubDate>Fri, 26 May 2006 18:47:28 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur std vector clear Methode on Fri, 26 May 2006 20:09:53 GMT]]></title><description><![CDATA[<p>Ja. Es gibt keine &quot;globalen&quot; Speicherlöcher, für die man das System neustarten müsste. (Was einen aber nicht dazu verleiten sollte, auf delete's am Ende zu verzichten, Destruktoraufrufe können wichtig sein).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1065799</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1065799</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Fri, 26 May 2006 20:09:53 GMT</pubDate></item></channel></rss>