<?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 Problem]]></title><description><![CDATA[<p>Hallo zusammen.</p>
<p>Ich habe mir eine Klasse definiert</p>
<pre><code class="language-cpp">class clsTest1
{
public:
	clsTest1();
	~clsTest1();
	int Wert1;
	int Wert2:
};
</code></pre>
<p>dazu lasse ich in der header von meiner Dlg Klasse eine neue member erstellen</p>
<pre><code class="language-cpp">clsTest1 *testsession;
vector&lt;clsTest1*&gt; TestListe;
</code></pre>
<p>jetzt habe ich in meiner CPP Dlg Datei folgendes stehen:</p>
<pre><code class="language-cpp">if ( ausdruck1 == ausdruck2 )
{
     TestListe.push_back(testsession);
}
</code></pre>
<p>so, das funktioniert auch alles soweit</p>
<p>wenn ich das erste Element zuweise</p>
<pre><code class="language-cpp">TestListe[0]-&gt;Wert1 = 500;
TestListe[0]-&gt;Wert2 = 799;
</code></pre>
<p>funktieniert das auch alles noch wunderbar.</p>
<p>wenn ich jetzt aber noch nen 2. Element durch die if oben hinzubekomme und dieses dann auch wieder mit werte belege</p>
<pre><code class="language-cpp">TestListe[1]-&gt;Wert1 = 600;
TestListe[1]-&gt;Wert2 = 200;
</code></pre>
<p>dann habe ich dann dieses Ergebnis:</p>
<pre><code>TestListe[0]-&gt;Wert1 = 600;
TestListe[0]-&gt;Wert2 = 200;
TestListe[1]-&gt;Wert1 = 600;
TestListe[1]-&gt;Wert2 = 200;
</code></pre>
<p>obwohl die Werte für den Index 0 eigentlich so sein müssten:</p>
<pre><code>TestListe[0]-&gt;Wert1 = 500;
TestListe[0]-&gt;Wert2 = 799;
</code></pre>
<p>was mache ich falsch?</p>
<p>danke für eure hilfe</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/186126/vector-problem</link><generator>RSS for Node</generator><lastBuildDate>Thu, 24 Sep 2026 07:10:34 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/186126.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 05 Jul 2007 11:08:59 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to vector Problem on Thu, 05 Jul 2007 11:13:37 GMT]]></title><description><![CDATA[<p>Hallo zusammen.</p>
<p>Ich habe mir eine Klasse definiert</p>
<pre><code class="language-cpp">class clsTest1
{
public:
	clsTest1();
	~clsTest1();
	int Wert1;
	int Wert2:
};
</code></pre>
<p>dazu lasse ich in der header von meiner Dlg Klasse eine neue member erstellen</p>
<pre><code class="language-cpp">clsTest1 *testsession;
vector&lt;clsTest1*&gt; TestListe;
</code></pre>
<p>jetzt habe ich in meiner CPP Dlg Datei folgendes stehen:</p>
<pre><code class="language-cpp">if ( ausdruck1 == ausdruck2 )
{
     TestListe.push_back(testsession);
}
</code></pre>
<p>so, das funktioniert auch alles soweit</p>
<p>wenn ich das erste Element zuweise</p>
<pre><code class="language-cpp">TestListe[0]-&gt;Wert1 = 500;
TestListe[0]-&gt;Wert2 = 799;
</code></pre>
<p>funktieniert das auch alles noch wunderbar.</p>
<p>wenn ich jetzt aber noch nen 2. Element durch die if oben hinzubekomme und dieses dann auch wieder mit werte belege</p>
<pre><code class="language-cpp">TestListe[1]-&gt;Wert1 = 600;
TestListe[1]-&gt;Wert2 = 200;
</code></pre>
<p>dann habe ich dann dieses Ergebnis:</p>
<pre><code>TestListe[0]-&gt;Wert1 = 600;
TestListe[0]-&gt;Wert2 = 200;
TestListe[1]-&gt;Wert1 = 600;
TestListe[1]-&gt;Wert2 = 200;
</code></pre>
<p>obwohl die Werte für den Index 0 eigentlich so sein müssten:</p>
<pre><code>TestListe[0]-&gt;Wert1 = 500;
TestListe[0]-&gt;Wert2 = 799;
</code></pre>
<p>was mache ich falsch?</p>
<p>danke für eure hilfe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1318840</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1318840</guid><dc:creator><![CDATA[MSS-Software]]></dc:creator><pubDate>Thu, 05 Jul 2007 11:13:37 GMT</pubDate></item><item><title><![CDATA[Reply to vector Problem on Thu, 05 Jul 2007 11:10:41 GMT]]></title><description><![CDATA[<p>Dieser Thread wurde von Moderator/in <a href="http://www.c-plusplus.net/forum/profile-var-mode-is-viewprofile-and-u-is-9713.html" rel="nofollow">estartu</a> aus dem Forum <a href="http://www.c-plusplus.net/forum/viewforum-var-f-is-1.html" rel="nofollow">MFC (Visual C++)</a> in das Forum <a href="http://www.c-plusplus.net/forum/viewforum-var-f-is-15.html" rel="nofollow">C++</a> verschoben.</p>
<p>Im Zweifelsfall bitte auch folgende Hinweise beachten:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-39405.html" rel="nofollow">C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?</a></p>
<p><em>Dieses Posting wurde automatisch erzeugt.</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1318842</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1318842</guid><dc:creator><![CDATA[C++ Forumbot]]></dc:creator><pubDate>Thu, 05 Jul 2007 11:10:41 GMT</pubDate></item><item><title><![CDATA[Reply to vector Problem on Thu, 05 Jul 2007 11:15:22 GMT]]></title><description><![CDATA[<p>Hi, erstmal hoffe ich das dein testsession überhaupt auf ein Objekt zeigt.<br />
Zweitens, wenn dass der Fall ist zeigt der Zeiger testsession immer auf das selbe Objekt und wenn du testsession nochmal in den Vector pushst, hast du zwei Zeiger im Vektor die auf ein Objekt zeigen.</p>
<p>Spare dir die ganze Zeiger-Geschichte und mache es doch ganz normal:</p>
<pre><code class="language-cpp">vector&lt;clsTest1&gt; TestListe;
//...
if ( ausdruck1 == ausdruck2 )
{
     TestListe.push_back(clsTest1());
}
//...
TestListe[0].Wert1 = 500;
TestListe[0].Wert2 = 799;
</code></pre>
<p>?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1318848</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1318848</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 05 Jul 2007 11:15:22 GMT</pubDate></item><item><title><![CDATA[Reply to vector Problem on Thu, 05 Jul 2007 11:15:44 GMT]]></title><description><![CDATA[<p>Du hast EIN Objekt und packst n Zeiger auf dieses eine Objekt in deinen vector&lt;&gt;. Das bedeutet auch, egal über welchen dieser Zeiger du etwas änderst, es betrifft jedes Mal das selbe Objekt.</p>
<p>Und damit kommen wir auch gleich zur Lösung: Vergiss die Zeiger und pack die Objekte direkt in den vector&lt;&gt;:</p>
<pre><code class="language-cpp">clsTest1 testsession;
vector&lt;clsTest1&gt; TestListe;

...

if ( ausdruck1 == ausdruck2 )
{
     TestListe.push_back(testsession);
}

...

TestListe[i].Wert1=4711;
</code></pre>
<p>(hier ist jedes Element eine Kopie der lokalen Variablen testsession - und damit auch unabhängig von dieser und von allen anderen vector-Elementen)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1318849</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1318849</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 05 Jul 2007 11:15:44 GMT</pubDate></item><item><title><![CDATA[Reply to vector Problem on Thu, 05 Jul 2007 11:19:49 GMT]]></title><description><![CDATA[<p>In deinem Vector stehen ja nur Zeiger auf jeweils ein Objekt; testsession ist auch ein Zeiger auf ein Objekt.<br />
Wenn testsession auf ein Objekt zeigt und du diesen Zeiger zwei mal in den Vector drückst, zeigen TestListe[0] und TestListe[1] auf das selbe Objekt. Deshalb haben die Objekte hinter dem Zeiger immer dieselben Werte, egal ob du sie nun von TestListe[0] oder von TestListe[1] aus änderst <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>
<p>Grundgütiger bin ich <em>langsam</em> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1318851</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1318851</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Thu, 05 Jul 2007 11:19:49 GMT</pubDate></item><item><title><![CDATA[Reply to vector Problem on Thu, 05 Jul 2007 11:25:37 GMT]]></title><description><![CDATA[<p>alles klar</p>
<p>problem verstanden <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>kompilierung war erfolgreich</p>
<p>test kommt jetzt <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>vielen dank schonmal</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1318857</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1318857</guid><dc:creator><![CDATA[MSS-Software]]></dc:creator><pubDate>Thu, 05 Jul 2007 11:25:37 GMT</pubDate></item></channel></rss>