<?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[Itterieren über eine Collection]]></title><description><![CDATA[<p>Hallo ,</p>
<p>ich habe eine Collection</p>
<pre><code class="language-cpp">using namespace std; 
     list&lt;CString*&gt;     m_pobDateien;
</code></pre>
<p>Diese Collection fülle so aus:</p>
<pre><code class="language-cpp">CString  sDateiname;
    sDateiname = m_pobDateien.push_back( &amp;sDateiname );
</code></pre>
<p>Wenn ich über diese Collection itteriere</p>
<pre><code class="language-cpp">CString sDateiname; 
   CString*  poDateiname = 0;
   list&lt;CString*&gt;::iterator   oIter;
   for( oIter = pobDateien.begin(); oIter != pobDateien.end(); ++oIter ) {
        poDateiname = ( *oIter );
        if( poDateiname ){
	 sDateiname = *poDateiname;  
	} 
   }
</code></pre>
<p>dann stürze ich an der Zeile : sDateiname = *poDateiname; ab.</p>
<p>Was kann der Grund sein ?</p>
<p>Danke.</p>
<p>Viele Grüße ,<br />
Elke</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/149681/itterieren-über-eine-collection</link><generator>RSS for Node</generator><lastBuildDate>Sat, 05 Sep 2026 08:33:45 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/149681.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 08 Jun 2006 11:43:57 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Itterieren über eine Collection on Thu, 08 Jun 2006 11:43:57 GMT]]></title><description><![CDATA[<p>Hallo ,</p>
<p>ich habe eine Collection</p>
<pre><code class="language-cpp">using namespace std; 
     list&lt;CString*&gt;     m_pobDateien;
</code></pre>
<p>Diese Collection fülle so aus:</p>
<pre><code class="language-cpp">CString  sDateiname;
    sDateiname = m_pobDateien.push_back( &amp;sDateiname );
</code></pre>
<p>Wenn ich über diese Collection itteriere</p>
<pre><code class="language-cpp">CString sDateiname; 
   CString*  poDateiname = 0;
   list&lt;CString*&gt;::iterator   oIter;
   for( oIter = pobDateien.begin(); oIter != pobDateien.end(); ++oIter ) {
        poDateiname = ( *oIter );
        if( poDateiname ){
	 sDateiname = *poDateiname;  
	} 
   }
</code></pre>
<p>dann stürze ich an der Zeile : sDateiname = *poDateiname; ab.</p>
<p>Was kann der Grund sein ?</p>
<p>Danke.</p>
<p>Viele Grüße ,<br />
Elke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1073793</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1073793</guid><dc:creator><![CDATA[Elke100]]></dc:creator><pubDate>Thu, 08 Jun 2006 11:43:57 GMT</pubDate></item><item><title><![CDATA[Reply to Itterieren über eine Collection on Thu, 08 Jun 2006 11:57:26 GMT]]></title><description><![CDATA[<p>Vielleicht solltest du statt Zeigern lieber die Objekte selber in deiner list speichern. Und wenn du doch Zeiger brauchst, erzeuge sie per new auf dem Heap.</p>
<p>(die Variable sDateiname, deren Adresse du eingetragen hast, ist beim Auslesen schon lange nicht mehr gültig - also zeigen die list-Elemente auf irgendwelchen Datenmüll im Stack)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1073801</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1073801</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 08 Jun 2006 11:57:26 GMT</pubDate></item><item><title><![CDATA[Reply to Itterieren über eine Collection on Thu, 08 Jun 2006 11:58:38 GMT]]></title><description><![CDATA[<p>Ich ergänze mal In-Place:</p>
<p>Elke100 schrieb:</p>
<blockquote>
<pre><code class="language-cpp">{
    CString  sDateiname; // lokale Variable
    sDateiname = m_pobDateien.push_back( &amp;sDateiname ); // Adresse einer lokalen Variable 
} // lokale Variable stirbt -&gt; in der Collection steht ein ungültiger Zeiger
</code></pre>
</blockquote>
<p>Das ist der Grund <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>Aber musst Du wirklich Zeiger in den vector packen? CString (wenn von MFC) ist doch sogar Referenzgezählt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1073803</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1073803</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Thu, 08 Jun 2006 11:58:38 GMT</pubDate></item><item><title><![CDATA[Reply to Itterieren über eine Collection on Thu, 08 Jun 2006 12:06:32 GMT]]></title><description><![CDATA[<p>Hallo CStoll,</p>
<p>stimmt ! Ich gehe ja aus der Methode raus ...</p>
<p>Mensch , habe doch schon ein paar Mal so einen Fehler gehabt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":-("
      alt="😞"
    /></p>
<p>Danke!</p>
<p>Viele Grüße ,<br />
Elke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1073811</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1073811</guid><dc:creator><![CDATA[Elke100]]></dc:creator><pubDate>Thu, 08 Jun 2006 12:06:32 GMT</pubDate></item></channel></rss>