<?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[vector mit StringList? Wie gehtz nun?]]></title><description><![CDATA[<p>hallo,</p>
<p>mein problem, ich möchte einen vector mit TStringListen anlegen</p>
<p>.h</p>
<pre><code class="language-cpp">std::vector&lt;TStringList*&gt; listVector;  //so??
std::vector&lt;TStringList&gt; listVEctor   //das wird ja nciht gehen oder?
</code></pre>
<p>das problem ist folgendes, das ich hier nicht genau weiß, wie es sich verhält....</p>
<pre><code class="language-cpp">void fillListVector()
{
 TStringList* tempList = new TStringList();
tempList-&gt;LoadFromFile(Open-&gt;FileName);

listVector.push_back(tempList);

delete tempList;
}
</code></pre>
<p>wie sieht es jetzt aus?</p>
<p>ist die liste die ich in den vector gespeichert hatte noch da?<br />
oder ging alles durch das delete oder das verlassen der funktion verloren und der zeiger zeigt ins nix?</p>
<p>ich muss den vector aber in einer funktion füllen</p>
<p>wie mach ich das nun richtig?<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/159964/vector-mit-stringlist-wie-gehtz-nun</link><generator>RSS for Node</generator><lastBuildDate>Tue, 11 Aug 2026 03:38:57 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/159964.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 20 Sep 2006 13:44:35 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to vector mit StringList? Wie gehtz nun? on Wed, 20 Sep 2006 13:44:35 GMT]]></title><description><![CDATA[<p>hallo,</p>
<p>mein problem, ich möchte einen vector mit TStringListen anlegen</p>
<p>.h</p>
<pre><code class="language-cpp">std::vector&lt;TStringList*&gt; listVector;  //so??
std::vector&lt;TStringList&gt; listVEctor   //das wird ja nciht gehen oder?
</code></pre>
<p>das problem ist folgendes, das ich hier nicht genau weiß, wie es sich verhält....</p>
<pre><code class="language-cpp">void fillListVector()
{
 TStringList* tempList = new TStringList();
tempList-&gt;LoadFromFile(Open-&gt;FileName);

listVector.push_back(tempList);

delete tempList;
}
</code></pre>
<p>wie sieht es jetzt aus?</p>
<p>ist die liste die ich in den vector gespeichert hatte noch da?<br />
oder ging alles durch das delete oder das verlassen der funktion verloren und der zeiger zeigt ins nix?</p>
<p>ich muss den vector aber in einer funktion füllen</p>
<p>wie mach ich das nun richtig?<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1141177</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1141177</guid><dc:creator><![CDATA[hm...?]]></dc:creator><pubDate>Wed, 20 Sep 2006 13:44:35 GMT</pubDate></item><item><title><![CDATA[Reply to vector mit StringList? Wie gehtz nun? on Wed, 20 Sep 2006 13:49:25 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>nur das geht</p>
<pre><code class="language-cpp">std::vector&lt;TStringList*&gt; listVector;
</code></pre>
<blockquote>
<p>ist die liste die ich in den vector gespeichert hatte noch da?</p>
</blockquote>
<p>Nein, ist sie nicht, in den vector wurde nur der Pointer kopiert, nicht die List-Instanz ansich</p>
<blockquote>
<p>oder ging alles durch das delete oder das verlassen der funktion verloren und der zeiger zeigt ins nix?</p>
</blockquote>
<p>Durch das delete.</p>
<blockquote>
<p>wie mach ich das nun richtig?</p>
</blockquote>
<p>Das delete nach dem Benutzen des vectors ausführen.<br />
Dafür gibt es zum Beispiel den Destruktors des Forms, desen Member dein vector sein sollte</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1141180</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1141180</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Wed, 20 Sep 2006 13:49:25 GMT</pubDate></item><item><title><![CDATA[Reply to vector mit StringList? Wie gehtz nun? on Wed, 20 Sep 2006 13:51:29 GMT]]></title><description><![CDATA[<p>Durch das Delete löscht du das Objekt, der Zeiger im Vector zeigt ins Nirvana.<br />
Pack das delete in eine Aufräumfunktion, wo du den Vector durchiterierst und alle Elemente löscht. Danach kannst Du Vectro.clear() aufrufen.</p>
<pre><code class="language-cpp">void fillListVector()
{
 TStringList* tempList = new TStringList();
tempList-&gt;LoadFromFile(Open-&gt;FileName);

listVector.push_back(tempList);

//delete tempList; Nicht gut!
}

void emptyListVector()
{
    for( std::vector&lt;TStringList*&gt;::Iterator it = listVector.begin();
         it != listVector.end();
         ++it )
    {
        delete *it;
    }
    listVector.clear();
}
</code></pre>
<p>edit: zu langsam</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1141181</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1141181</guid><dc:creator><![CDATA[THX 1138]]></dc:creator><pubDate>Wed, 20 Sep 2006 13:51:29 GMT</pubDate></item><item><title><![CDATA[Reply to vector mit StringList? Wie gehtz nun? on Wed, 20 Sep 2006 13:57:40 GMT]]></title><description><![CDATA[<p>wichtig ist nur:</p>
<p>wenn ich das delete weg lasse, ist auch ausserhalb dieser funktion der komplette inhalt des vectors und der list noch vorhanden?!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1141188</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1141188</guid><dc:creator><![CDATA[hm....?]]></dc:creator><pubDate>Wed, 20 Sep 2006 13:57:40 GMT</pubDate></item><item><title><![CDATA[Reply to vector mit StringList? Wie gehtz nun? on Wed, 20 Sep 2006 13:59:14 GMT]]></title><description><![CDATA[<p>hm....? schrieb:</p>
<blockquote>
<p>wichtig ist nur:</p>
<p>wenn ich das delete weg lasse, ist auch ausserhalb dieser funktion der komplette inhalt des vectors und der list noch vorhanden?!</p>
</blockquote>
<p>Ja</p>
<p>Aber wichtig ist auch, dass das delete dann irgendwo anders steht!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1141189</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1141189</guid><dc:creator><![CDATA[THX 1138]]></dc:creator><pubDate>Wed, 20 Sep 2006 13:59:14 GMT</pubDate></item><item><title><![CDATA[Reply to vector mit StringList? Wie gehtz nun? on Wed, 20 Sep 2006 14:01:03 GMT]]></title><description><![CDATA[<p>ok danke, dann werde ich das morgen mal testen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1141193</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1141193</guid><dc:creator><![CDATA[hm....?]]></dc:creator><pubDate>Wed, 20 Sep 2006 14:01:03 GMT</pubDate></item><item><title><![CDATA[Reply to vector mit StringList? Wie gehtz nun? on Thu, 21 Sep 2006 07:47:52 GMT]]></title><description><![CDATA[<p>ok, hab noch eine frage!</p>
<p>ich möchte natürlich in dem vector mehrere listen speichern:</p>
<pre><code class="language-cpp">void FillListVector()
{
 TStringList* myList = new TStringList();
for(int i=0;i&lt;10;++i)
 { 
   myList-&gt;LoadFromFile(FileName);
   listVector.push_back(myList);
 }
}
</code></pre>
<p>mein frage:<br />
da habe ich jetzt so im vector mehrere verschiedene listen, oder immer nur mehrere zeiger auf die selbe liste?</p>
<p>wenn das so wäre, müsste ich da vorher noch ein listenarray anlegen, wenn ja, wie?</p>
<p>danke mal wieder</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1141586</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1141586</guid><dc:creator><![CDATA[hm....?]]></dc:creator><pubDate>Thu, 21 Sep 2006 07:47:52 GMT</pubDate></item><item><title><![CDATA[Reply to vector mit StringList? Wie gehtz nun? on Thu, 21 Sep 2006 07:54:29 GMT]]></title><description><![CDATA[<p>Gehen wir doch den Code mal durch.</p>
<p>Du erstellt eine Stringliste.<br />
Du lädst eine Datei in die Stringliste.<br />
Du speicherst den Zeiger auf die Stringliste im vector.</p>
<p>Schritt 2 und 3 führst Du 10 mal auf ein und dieselbe Stringliste aus. Also hast Du im vector auch 10 mal den gleichen Zeiger auf ein und dieselbe Stringliste. Und der Inhalt der Stringliste ist bei allen identisch. Nämlich das, was Du zuleltzt eingelesen hast.</p>
<p>Der vector ist das Listenarray! Du mußt natürlich für jeden Durchlauf in der Schleife (respektive für jede einzulesende Datei) eine neue Stringliste mit new erzeugen.</p>
<p>Im Destruktor der Form, oder an anderer geeigneter Stelle durchläufst Du den vector und löschst die ganzen Stringlisten wieder.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1141593</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1141593</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 21 Sep 2006 07:54:29 GMT</pubDate></item><item><title><![CDATA[Reply to vector mit StringList? Wie gehtz nun? on Thu, 21 Sep 2006 07:57:24 GMT]]></title><description><![CDATA[<p>Hallo</p>
<blockquote>
<p>da habe ich jetzt so im vector mehrere verschiedene listen, oder immer nur mehrere zeiger auf die selbe liste?</p>
</blockquote>
<p>Letzteres.</p>
<blockquote>
<p>wenn das so wäre, müsste ich da vorher noch ein listenarray anlegen</p>
</blockquote>
<p>Natürlich nicht. Sondern einfach deinen Code so umstellen, das pro Schleifendurchgang genau eine neue StringList-Instanz erstellt wird.</p>
<pre><code class="language-cpp">void FillListVector()
{
  TStringList* myList;
  for(int i=0;i&lt;10;++i)
  {
    myList = new TStringList();
    myList-&gt;LoadFromFile(FileName);
    listVector.push_back(myList);
  }
}
</code></pre>
<p>In diesem Beispiel wird natürlich zehnmal die gleiche Datei in 10 verschiedene TStringLists geladen.</p>
<p>/ Edit : Zu langsam... aber nicht der Letzte <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>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1141595</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1141595</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Thu, 21 Sep 2006 07:57:24 GMT</pubDate></item><item><title><![CDATA[Reply to vector mit StringList? Wie gehtz nun? on Thu, 21 Sep 2006 07:57:23 GMT]]></title><description><![CDATA[<p>Du hast hier immer den gleichen Zeiger drin. Das ist also falsch mach es besser so.</p>
<pre><code class="language-cpp">void FillListVector()
{
 for(int i=0;i&lt;10;++i)
 {
   listVector.push_back(new TStringList());
   listVector.back()-&gt;LoadFromFile(FileName);
 }
}
</code></pre>
<p>[edit]Ein wenig spät, aber dafür kürzer. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /> [edit]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1141596</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1141596</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Thu, 21 Sep 2006 07:57:23 GMT</pubDate></item><item><title><![CDATA[Reply to vector mit StringList? Wie gehtz nun? on Thu, 21 Sep 2006 08:07:36 GMT]]></title><description><![CDATA[<p>wobei ich aber nicht den Sinn verstehe, 10 mal die gleiche Datei in eine andere StringList zu laden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1141603</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1141603</guid><dc:creator><![CDATA[charman]]></dc:creator><pubDate>Thu, 21 Sep 2006 08:07:36 GMT</pubDate></item><item><title><![CDATA[Reply to vector mit StringList? Wie gehtz nun? on Thu, 21 Sep 2006 08:15:11 GMT]]></title><description><![CDATA[<p>Ich schätze mal, das war nur ein Beispiel.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1141609</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1141609</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Thu, 21 Sep 2006 08:15:11 GMT</pubDate></item></channel></rss>