<?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[einfügen in objektliste (STL)]]></title><description><![CDATA[<p>wie kann man objekte in ner liste einfügen so das man über die Listenelemente auf die objektmember zugreifen kann?</p>
<p>iteratorofobjectlist-&gt;member;</p>
<p>ich hab es schon versucht und bei google gesucht usw.<br />
aber wenn sich der Wert eines Attributes ändert sieht man das beim Zugriff über die Liste nicht? (also der alte Wert bleibt)</p>
<pre><code class="language-cpp">client* chatter = new client(socket);
liste.push_back(*chatter);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/125694/einfügen-in-objektliste-stl</link><generator>RSS for Node</generator><lastBuildDate>Mon, 24 Aug 2026 14:48:02 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/125694.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 08 Nov 2005 19:02:15 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to einfügen in objektliste (STL) on Tue, 08 Nov 2005 19:07:50 GMT]]></title><description><![CDATA[<p>wie kann man objekte in ner liste einfügen so das man über die Listenelemente auf die objektmember zugreifen kann?</p>
<p>iteratorofobjectlist-&gt;member;</p>
<p>ich hab es schon versucht und bei google gesucht usw.<br />
aber wenn sich der Wert eines Attributes ändert sieht man das beim Zugriff über die Liste nicht? (also der alte Wert bleibt)</p>
<pre><code class="language-cpp">client* chatter = new client(socket);
liste.push_back(*chatter);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/912107</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/912107</guid><dc:creator><![CDATA[debian inside]]></dc:creator><pubDate>Tue, 08 Nov 2005 19:07:50 GMT</pubDate></item><item><title><![CDATA[Reply to einfügen in objektliste (STL) on Tue, 08 Nov 2005 19:11:33 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">liste.push_back(*chatter);
</code></pre>
<p>damit legst du eine kopie an.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/912114</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/912114</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Tue, 08 Nov 2005 19:11:33 GMT</pubDate></item><item><title><![CDATA[Reply to einfügen in objektliste (STL) on Tue, 08 Nov 2005 19:15:51 GMT]]></title><description><![CDATA[<p>Also wenn es um das dynamische oder polymorphe an den Objekten gibt, dann nimm <a href="http://www.boost.org/libs/ptr_container/doc/ptr_container.html" rel="nofollow">das hier</a>.<br />
Ansonsten solltest du einfach normale Objekte in die Liste tun statt Pointer.</p>
<p>Dies bezog sich vor allem auf das vorher geschriebene und dein Beispiel, deine Frage</p>
<p>debian inside schrieb:</p>
<blockquote>
<p>aber wenn sich der Wert eines Attributes ändert sieht man das beim Zugriff über die Liste nicht? (also der alte Wert bleibt)</p>
</blockquote>
<p>hab ich nicht verstanden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/912118</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/912118</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Tue, 08 Nov 2005 19:15:51 GMT</pubDate></item><item><title><![CDATA[Reply to einfügen in objektliste (STL) on Tue, 08 Nov 2005 19:33:13 GMT]]></title><description><![CDATA[<p>willst du vielleicht eher eine std::list&lt;client*&gt; statt einer std::list&lt;client&gt;? Denn mit deinem Code wird das Objekt kopiert, auf das chatter zeigt und dann in die liste eingefügt, nicht das objekt, dass du mit new erstellt hast. Übrigens kann es problematisch mit dem deleten werden, wenn du mit new erstellte objekte in eine liste einfügst, für die sich keine klasse verantwortlich fühlt (d.h. sie im destruktor löscht)<br />
geloescht</p>
]]></description><link>https://www.c-plusplus.net/forum/post/912135</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/912135</guid><dc:creator><![CDATA[geloescht]]></dc:creator><pubDate>Tue, 08 Nov 2005 19:33:13 GMT</pubDate></item><item><title><![CDATA[Reply to einfügen in objektliste (STL) on Tue, 08 Nov 2005 21:16:28 GMT]]></title><description><![CDATA[<p>geloescht schrieb:</p>
<blockquote>
<p>willst du vielleicht eher eine std::list&lt;client*&gt; statt einer std::list&lt;client&gt;? Denn mit deinem Code wird das Objekt kopiert, auf das chatter zeigt und dann in die liste eingefügt, nicht das objekt, dass du mit new erstellt hast. Übrigens kann es problematisch mit dem deleten werden, wenn du mit new erstellte objekte in eine liste einfügst, für die sich keine klasse verantwortlich fühlt (d.h. sie im destruktor löscht)<br />
geloescht</p>
</blockquote>
<p>da schreibt man nen tcp server mit threads und datenbankzugriff und erkennt das man die grundlagen nicht versteht...<br />
ich melde mich wieder wenns klappt :p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/912249</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/912249</guid><dc:creator><![CDATA[debian inside]]></dc:creator><pubDate>Tue, 08 Nov 2005 21:16:28 GMT</pubDate></item><item><title><![CDATA[Reply to einfügen in objektliste (STL) on Sat, 12 Nov 2005 22:05:21 GMT]]></title><description><![CDATA[<p>so hatte wieder mal zeit um weiter zu machen</p>
<p>das ganze läuft jetzt so und funktioniert auch ganz gut</p>
<pre><code class="language-cpp">list&lt;chatter*&gt; liste;
liste.push_back(new chatter(socket));
</code></pre>
<p>wenn ich nun ein objekt aus der liste lösche ist auch dessen speicher wieder frei, oder?</p>
<p>nochmals danke für die anregungen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/916401</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/916401</guid><dc:creator><![CDATA[debian inside]]></dc:creator><pubDate>Sat, 12 Nov 2005 22:05:21 GMT</pubDate></item><item><title><![CDATA[Reply to einfügen in objektliste (STL) on Sat, 12 Nov 2005 22:27:53 GMT]]></title><description><![CDATA[<p>debian inside schrieb:</p>
<blockquote>
<p>so hatte wieder mal zeit um weiter zu machen</p>
<p>das ganze läuft jetzt so und funktioniert auch ganz gut</p>
<pre><code class="language-cpp">list&lt;chatter*&gt; liste;
liste.push_back(new chatter(socket));
</code></pre>
<p>wenn ich nun ein objekt aus der liste lösche ist auch dessen speicher wieder frei, oder?</p>
<p>nochmals danke für die anregungen</p>
</blockquote>
<p>welches objekt meinst du? den zeiger, oder das objekt, auf das der zeiger zeigt <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>entfernst du den zeiger, wird nur dieser gelöscht - um das aufräumen des heap-objektes musst du dich selber kümmern (oder benutz boosts pointer container) - eine einfache aufräum funktion z.b.:</p>
<pre><code class="language-cpp">list&lt;chatter*&gt; liste;
// ... irgendwie füllen
while ( !liste.empty() )
{
    chatter* p = liste.back();
    liste.pop_back();
    delete p;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/916427</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/916427</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Sat, 12 Nov 2005 22:27:53 GMT</pubDate></item><item><title><![CDATA[Reply to einfügen in objektliste (STL) on Sat, 12 Nov 2005 22:44:03 GMT]]></title><description><![CDATA[<p>reicht es wenn ich im objekt delete this; aufrufe?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/916442</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/916442</guid><dc:creator><![CDATA[debian inside]]></dc:creator><pubDate>Sat, 12 Nov 2005 22:44:03 GMT</pubDate></item><item><title><![CDATA[Reply to einfügen in objektliste (STL) on Sun, 13 Nov 2005 12:34:37 GMT]]></title><description><![CDATA[<p><a href="http://www.progsoc.uts.edu.au/lists/progsoc/2000/October/msg00010.html" rel="nofollow">http://www.progsoc.uts.edu.au/lists/progsoc/2000/October/msg00010.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/916659</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/916659</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Sun, 13 Nov 2005 12:34:37 GMT</pubDate></item><item><title><![CDATA[Reply to einfügen in objektliste (STL) on Sun, 13 Nov 2005 13:07:08 GMT]]></title><description><![CDATA[<p>debian inside schrieb:</p>
<blockquote>
<p>reicht es wenn ich im objekt delete this; aufrufe?</p>
</blockquote>
<p>Würde prinzipiell funktionieren, ist aber äußerst unschön und durchaus unnötig. (Siehe auch <a href="http://www.parashift.com/c++-faq-lite/freestore-mgmt.html#faq-16.15" rel="nofollow">C++ FAQ Lite</a>.)<br />
Nehm lieber einen von campers Vorschlägen...</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/9606">@.filmor</a></p>
<p><a href="http://www.progsoc.uts.edu.au/lists/progsoc/2000/October/msg00010.html" rel="nofollow">http://www.progsoc.uts.edu.au/lists/progsoc/2000/October/msg00010.html</a> schrieb:</p>
<blockquote>
<p>[...]<br />
I haven't got ARM (or a similar tome) handly but I suspect that modifying &quot;this&quot; in a member funcion is illegal. Either way, changing &quot;this&quot; in a member function will not affect the value of the pointer the function was called through. E.g.</p>
<p>void zero_ptr(char* s)<br />
{<br />
// This line only changes the local version of s.<br />
s = NULL;<br />
}</p>
<p>...</p>
<p>char *s = &quot;Hello, world!&quot;;<br />
zero_ptr(s);<br />
printf(s); // Shows &quot;Hello, world!&quot;</p>
</blockquote>
<p><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/916694</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/916694</guid><dc:creator><![CDATA[finix]]></dc:creator><pubDate>Sun, 13 Nov 2005 13:07:08 GMT</pubDate></item><item><title><![CDATA[Reply to einfügen in objektliste (STL) on Mon, 14 Nov 2005 10:02:09 GMT]]></title><description><![CDATA[<blockquote>
<p>If you want to use in it a constructor, ...</p>
</blockquote>
<p>delete this im konstruktor ist nicht nur eine schlechte idee sondern sogar völlig illegal - schliesslich existiert das objekt noch gar nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/917109</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/917109</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Mon, 14 Nov 2005 10:02:09 GMT</pubDate></item></channel></rss>