<?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[Datencontainer]]></title><description><![CDATA[<p>Ich möcht eine folgende Struktur in einem Container abbilden:</p>
<p>Es gibt mehrere LinienSegmente. Ein LinienSegment besteht aus mehreren Einzelpunkten, diese Einzelpunkte haben x- und Y Koordinaten und jedes LinienSegment besitzt 1 Label.</p>
<p>Da ich noch nie mit Container in c++ geaebeitet habe, zunächst die Frage welcher Container sich anbietet.</p>
<p>Und dann die Frage, wie ich den Bezug (Abhängigkeit) zwischen dem übergeordneten LinienSegment zu den Einzelpunkten und dann zu den dazugehörigen Koordinaten abbilde. Den Container brauche ich zum testen, daher möchte ich keine Klassen anlegen. Sondern den Container richtig aufbauen und mit dann Werte zum testen einlesen.</p>
<p>freue mich über Hilfe, schon mal vielen Dank!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/166812/datencontainer</link><generator>RSS for Node</generator><lastBuildDate>Wed, 16 Sep 2026 00:28:41 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/166812.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 03 Dec 2006 11:07:11 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Datencontainer on Sun, 03 Dec 2006 11:07:11 GMT]]></title><description><![CDATA[<p>Ich möcht eine folgende Struktur in einem Container abbilden:</p>
<p>Es gibt mehrere LinienSegmente. Ein LinienSegment besteht aus mehreren Einzelpunkten, diese Einzelpunkte haben x- und Y Koordinaten und jedes LinienSegment besitzt 1 Label.</p>
<p>Da ich noch nie mit Container in c++ geaebeitet habe, zunächst die Frage welcher Container sich anbietet.</p>
<p>Und dann die Frage, wie ich den Bezug (Abhängigkeit) zwischen dem übergeordneten LinienSegment zu den Einzelpunkten und dann zu den dazugehörigen Koordinaten abbilde. Den Container brauche ich zum testen, daher möchte ich keine Klassen anlegen. Sondern den Container richtig aufbauen und mit dann Werte zum testen einlesen.</p>
<p>freue mich über Hilfe, schon mal vielen Dank!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1186184</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1186184</guid><dc:creator><![CDATA[*lt*---*gt*]]></dc:creator><pubDate>Sun, 03 Dec 2006 11:07:11 GMT</pubDate></item><item><title><![CDATA[Reply to Datencontainer on Sun, 03 Dec 2006 11:37:57 GMT]]></title><description><![CDATA[<p>Meinst du das?</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;vector&gt;
#include &lt;string&gt;

using namespace std;

struct TPunkt {
  double x;
  double y;
  TPunkt(const double _x, const double _y) {
    x = _x;
    y = _y;
  }
};

struct TLinienSegment {
  vector&lt;TPunkt&gt; Punkte;
  string label;
};

vector&lt;TLinienSegment&gt; Liniensegmente;

int main() {
  //...

  //Liniensegmente füllen, meinetwegen so:
  TPunkt p1(100,100);
  TPunkt p2(200,100);

  TLinienSegment Liniea;
  Liniea.Punkte.push_back(p1);
  Liniea.Punkte.push_back(p2);
  Liniea.label = &quot;meine Linie&quot;;

  Liniensegmente.push_back(liniea);

  // Zugriff dann auf den Container:

  for(int it=0;it!=Liniensegmente.size();++it) {
    for(int it2=0;it2!=Liniensegmente[it].Punkte.size();++it2)
      if(Liniensegmente[it].Punkte[it2].y==100)
        cout &lt;&lt; &quot;Punkt &quot; &lt;&lt; it2 &lt;&lt; &quot; des Liniensegments &quot; &lt;&lt; it &lt;&lt; &quot; hat die y-Koordinate 100&quot; &lt;&lt; endl;  
  }
  return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1186196</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1186196</guid><dc:creator><![CDATA[Checker*amp*Murckser]]></dc:creator><pubDate>Sun, 03 Dec 2006 11:37:57 GMT</pubDate></item><item><title><![CDATA[Reply to Datencontainer on Sun, 03 Dec 2006 15:25:32 GMT]]></title><description><![CDATA[<p>ja, passt genau!<br />
Vielen, vielen Dank!<br />
Bin Anfänger und dachte man braucht Klassen oder komplizierten Datencontainer.</p>
<p>Danke für den Tip mit struct + Quellcode!</p>
<p>Verstehe ich das richtig, dass man bei Referenzieren &quot;.&quot; bei struct und &quot;-&gt;&quot; bei Klassen verwendet?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1186317</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1186317</guid><dc:creator><![CDATA[*lt*---*gt*]]></dc:creator><pubDate>Sun, 03 Dec 2006 15:25:32 GMT</pubDate></item><item><title><![CDATA[Reply to Datencontainer on Sun, 03 Dec 2006 15:31:44 GMT]]></title><description><![CDATA[<p>&quot;.&quot; verwendest du auch bei Objekten, die du auf dem Stack anlegst.</p>
<p>z. B.</p>
<pre><code class="language-cpp">Object o = Object()
o.myMethod()
</code></pre>
<p>Die mußt/darfst du nicht mit delete löschen!!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1186321</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1186321</guid><dc:creator><![CDATA[Infotyp]]></dc:creator><pubDate>Sun, 03 Dec 2006 15:31:44 GMT</pubDate></item><item><title><![CDATA[Reply to Datencontainer on Sun, 03 Dec 2006 15:39:17 GMT]]></title><description><![CDATA[<p>ups...</p>
<p>und &quot;-&gt;&quot; bei struct auf dem Heap</p>
<p>Also hängt es nur davon ab, ob das Objekt auf dem Heap (mit new) oder auf dem Stack (ohne new) ist...<br />
(Also eigentlich stimmt nicht 100%ig sollte aber erstmal reichen)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1186322</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1186322</guid><dc:creator><![CDATA[Infotyp]]></dc:creator><pubDate>Sun, 03 Dec 2006 15:39:17 GMT</pubDate></item><item><title><![CDATA[Reply to Datencontainer on Mon, 04 Dec 2006 03:53:11 GMT]]></title><description><![CDATA[<p>Bin selbst anfanger, soweit ich bisher bin folgendes:</p>
<p>1.Klassen und structs sind ein und dasselbe AUSSER dass bei Klassen die Elemente automatisch private sind, bei structs hingegen public.</p>
<p>2. du greifts immer mit <code>.</code> auf deine Elemente zu. Das Problem sind jetzt aber Pointer. Wenn du einen Pointer auf ein Objekt hast und nun ein Element dieses Objekts ansprechen wollen wuerdest waere es intuitiv *pobjekt.element zu schreiben. leider hat aber der <code>.</code> eine hoehere Prioritaet als das <code>\*</code>. Um also den Pointer zuerst zu dereferenzieren und DANN das Element anzusprechen muesstest du (*pobjekt).element schreiben. Tja, und die verkuerzte Schreibweise davon ist halt pobjekt-&gt;element</p>
<p>Hoffe, dass das soweit alles korrekt und verstaendlich ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1186554</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1186554</guid><dc:creator><![CDATA[Shinja]]></dc:creator><pubDate>Mon, 04 Dec 2006 03:53:11 GMT</pubDate></item><item><title><![CDATA[Reply to Datencontainer on Mon, 04 Dec 2006 10:10:27 GMT]]></title><description><![CDATA[<p>Infotyp schrieb:</p>
<blockquote>
<p>&quot;.&quot; verwendest du auch bei Objekten, die du auf dem Stack anlegst....</p>
</blockquote>
<p>Infotyp schrieb:</p>
<blockquote>
<p>ups...</p>
<p>und &quot;-&gt;&quot; bei struct auf dem Heap<br />
..</p>
</blockquote>
<p>Ähhh ... das ist irgendwie &quot;richtig gemeint&quot;, aber trotzdem nicht richtig.</p>
<p>Viel einfacher:</p>
<ul>
<li>&quot;.&quot; bei Objekt(referenz)en</li>
<li>&quot;-&gt;&quot; bei Pointern</li>
</ul>
<p>Kleines Beispiel, warum die &quot;Stack/Heap&quot;-erklärung nicht greift:</p>
<pre><code class="language-cpp">void callByVal(string s) { cout &lt;&lt; s.length(); }
void callByRef(string&amp; s) { cout &lt;&lt; s.length(); }
void callByPtr(string* s) { cout &lt;&lt; s-&gt;length(); }

int main() {
    string stackStr;
    string *heapStr = new string;
    callbyVal(stackStr);
    callbyRef(stackStr);
    callbyPtr(&amp;stackStr);

    callbyVal(*heapStr);
    callbyRef(*heapStr);
    callbyPtr(heapStr);

    delete heapStr;
    return 0;
}
</code></pre>
<p><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>BTW: IMO ist &quot;-&gt;&quot; ein überflüssiges syntaktisches Konstrukt (C-Altlast; der Compiler setzt das sowieso kontextbezogen um) .. was man ja offensichtlich bei Referenzen schon begriffen hat. <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>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1186675</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1186675</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Mon, 04 Dec 2006 10:10:27 GMT</pubDate></item><item><title><![CDATA[Reply to Datencontainer on Mon, 04 Dec 2006 10:18:01 GMT]]></title><description><![CDATA[<p>Simon2 schrieb:</p>
<blockquote>
<p>BTW: IMO ist &quot;-&gt;&quot; ein überflüssiges syntaktisches Konstrukt (C-Altlast; der Compiler setzt das sowieso kontextbezogen um) .. was man ja offensichtlich bei Referenzen schon begriffen hat. <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>
</blockquote>
<p>Altlast vielleicht, aber nicht überflüssig - schließlich ist es immer wieder notwendig, mit Pointern umzugehen - und <code>p-&gt;x</code> sieht eleganter aus als <code>(*p).x</code> . Und außerdem kannst du op-&gt; auch überladen (z.B. für Smart-Pointer).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1186685</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1186685</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 04 Dec 2006 10:18:01 GMT</pubDate></item><item><title><![CDATA[Reply to Datencontainer on Mon, 04 Dec 2006 13:40:16 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>... <code>p-&gt;x</code> sieht eleganter aus als <code>(*p).x</code> ...</p>
</blockquote>
<p>Stimmt schon, aber warum nicht einfach <code>p.x</code> , wie bei Referenzen auch ?<br />
Ein nicht geringes Problem entsteht ja semantisch (z.B. bei operator-overloading) durch die Äquivalenz von &quot;*.&quot; und &quot;-&gt;&quot; ... vom &quot;Klammerwirrwarr&quot; und den damit verbundenen Fehlern bei komplexeren Konstrukten noch gar nicht gesprochen ...</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1186861</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1186861</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Mon, 04 Dec 2006 13:40:16 GMT</pubDate></item><item><title><![CDATA[Reply to Datencontainer on Tue, 12 Dec 2006 15:58:21 GMT]]></title><description><![CDATA[<p>Wie kann ich etwas aus dem struct löschen? Ich wollte ein Liniensegment, hier Linie1 löschen</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;vector&gt;
#include &lt;string&gt;

using namespace std;

struct TPunkt {
  double x;
  double y;
  TPunkt(const double _x, const double _y) {
    x = _x;
    y = _y;
  }
};

struct TLinienSegment {
  vector&lt;TPunkt&gt; Punkte;
  string label;
};

vector&lt;TLinienSegment&gt; Liniensegmente;

int main() {
  //...

  //Liniensegmente füllen, meinetwegen so:
  TPunkt p1(100,100);
  TPunkt p2(200,100);

  TLinienSegment Liniea;
  Liniea.Punkte.push_back(p1);
  Liniea.Punkte.push_back(p2);
  Liniea.label = &quot;meine Linie&quot;;

TLinienSegment Linie1;
  Linie1.Punkte.push_back(p1);
  Linie1.Punkte.push_back(p2);
  Linie1.label = &quot;Linie1&quot;;

  Liniensegmente.push_back(liniea);
Liniensegmente.push_back(liniea);

//remove Linienelement;
delete [] Liniensegmente.linie1;
  Liniensegmente.linie1; = NULL; //Fehler
    return 0;
}
</code></pre>
<p>vielen Dank für Hilfe..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1190713</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1190713</guid><dc:creator><![CDATA[*lt*---*gt*]]></dc:creator><pubDate>Tue, 12 Dec 2006 15:58:21 GMT</pubDate></item><item><title><![CDATA[Reply to Datencontainer on Tue, 12 Dec 2006 17:03:03 GMT]]></title><description><![CDATA[<p>delete ist hier falsch. Zum löschen von Elementen aus einem vector kann man erase() verwenden. Wenn das Element am Ende des vectors ist auch pop_back(). Bei erase mußt du wissen, an welcher Position im vector sich dein element befindet;<br />
Bsp.</p>
<pre><code class="language-cpp">Liniensegmente.push_back(liniea);
Liniensegmente.push_back(liniea);
// nun sind zwei TLinienSegment Objekte im vector
// löschen des ersten
Liniensegmente.erase(Liniensegmente.begin());
// löschen des letzten
Liniensegmente.pop_back();
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1190742</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1190742</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Tue, 12 Dec 2006 17:03:03 GMT</pubDate></item><item><title><![CDATA[Reply to Datencontainer on Tue, 12 Dec 2006 17:21:56 GMT]]></title><description><![CDATA[<p>sorry bin Anfänger..<br />
erase habe ich ausprobiert, ich kann aber nicht auf das i-te Element einer for-Schleife zugreifen.</p>
<pre><code class="language-cpp">for (i = 0; i&lt;v1.size(); i++) {
	   startIterator = v1.begin();
	   anzahl =0;
	   for(int k=0;k&lt;v1.size()&amp;&amp;anzahl&lt;2;k++) 
	   { 

		   if(strcmp (v1[i]-&gt;mainIdent, v1[k]-&gt;mainIdent) == 0)++anzahl; 
	   } 

	   if (anzahl &gt; 1  )  {

		   v1.erase( startIterator +i ); //hier wird der falsche gelöscht
		   //	v1[i]-&gt;mainIdent[0] = 0;  Ist der richtige, ist aber nicht gelöscht
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1190761</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1190761</guid><dc:creator><![CDATA[*lt*---*gt*]]></dc:creator><pubDate>Tue, 12 Dec 2006 17:21:56 GMT</pubDate></item><item><title><![CDATA[Reply to Datencontainer on Tue, 12 Dec 2006 21:02:06 GMT]]></title><description><![CDATA[<p>&lt;---&gt; schrieb:</p>
<blockquote>
<p>sorry bin Anfänger..<br />
erase habe ich ausprobiert, ich kann aber nicht auf das i-te Element einer for-Schleife zugreifen.</p>
</blockquote>
<p>sicher geht das.</p>
<p>&lt;---&gt; schrieb:</p>
<blockquote>
<pre><code class="language-cpp">for (i = 0; i&lt;v1.size(); i++) {
	   startIterator = v1.begin();
	   anzahl =0;
	   for(int k=0;k&lt;v1.size()&amp;&amp;anzahl&lt;2;k++) 
	   { 
		   
		   if(strcmp (v1[i]-&gt;mainIdent, v1[k]-&gt;mainIdent) == 0)++anzahl; 
	   } 
	   
	   if (anzahl &gt; 1  )  {
		   
		   v1.erase( startIterator +i ); //hier wird der falsche gelöscht
		   //	v1[i]-&gt;mainIdent[0] = 0;  Ist der richtige, ist aber nicht gelöscht
</code></pre>
</blockquote>
<p>.. nun Du löscht das i'te Element in 'vl'. D.h. nach dem Löschen ist das Element nicht mehr vorhanden.<br />
Was soll das Programm eigentlich tun? Wenn der Algorithmus dafür sorgen soll, dass da keine Kopien mehr in 'vl' vorkommen, so kannst Du den stl-algorithmus <a href="http://wwwasd.web.cern.ch/wwwasd/lhc++/RW/stdlibcr/uni_8586.htm" rel="nofollow">unique</a> benutzen.<br />
Im Prinzip so:</p>
<pre><code class="language-cpp">std::sort( vl.begin(), vl.end() );
vl.erase( std::unique( vl.begin(). vl.end() ), vl.end() );
</code></pre>
<p>Du benötigst aber noch einen Vergleichsoperator für den Element-Typ in 'vl'.</p>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1190885</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1190885</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Tue, 12 Dec 2006 21:02:06 GMT</pubDate></item><item><title><![CDATA[Reply to Datencontainer on Tue, 12 Dec 2006 21:41:49 GMT]]></title><description><![CDATA[<p>Das Programm soll unter einer bestimmten Bedingung Elemente aus dem Vektor löschen. Da ich sicherstellen möchte, dass jedes Element mind 1 x vorkommt, steht in der if Anweisung anzahl &gt;1. Vermutlich mache ich einen Fehler beim Zugriff auf das zu löschende Element. Denke der Iterator stimmt nicht, ich finde aber nicht wo. Wenn du es findest ist super, aber denke es ist schwierig zu finden, ohne zu debuggen. Meine Frage daher, bin ich auf dem richtigen Weg oder ist der Ansatz grundsätzlich falsch? Denn der Vector ist ja mit einer Struktur gefüllt.</p>
<p>Und wenn ich nicht lösche, sondern das betreffende Element der Struktur auf 0 setze, wird das richtige ausgegeben. s.u. v1[i]-&gt;mainIdent[0] = 0;</p>
<p>Von daher, kann man ein Vektorelement, das auf eine Struktur oder Klasse verweist überhaupt löschen?</p>
<p>Vielen Dank für Antwort!!!</p>
<pre><code class="language-cpp">for (i = 0; i&lt;v1.size(); i++) {
       startIterator = v1.begin();
       anzahl =0;
       for(int k=0;k&lt;v1.size()&amp;&amp;anzahl&lt;2;k++) 
       { 

           if(strcmp (v1[i]-&gt;mainIdent, v1[k]-&gt;mainIdent) == 0)++anzahl; 
       } 

       if ( bedingung &amp;&amp; anzahl &gt; 1  )  {

           v1.erase( startIterator +i ); //hier wird der falsche gelöscht
//    v1[i]-&gt;mainIdent[0] = 0;  löscht den Richtigen
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1190900</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1190900</guid><dc:creator><![CDATA[*lt*---*gt*]]></dc:creator><pubDate>Tue, 12 Dec 2006 21:41:49 GMT</pubDate></item><item><title><![CDATA[Reply to Datencontainer on Tue, 12 Dec 2006 22:06:33 GMT]]></title><description><![CDATA[<p>&lt;---&gt; schrieb:</p>
<blockquote>
<p>Das Programm soll unter einer bestimmten Bedingung Elemente aus dem Vektor löschen. Da ich sicherstellen möchte, dass jedes Element mind 1 x vorkommt, steht in der if Anweisung anzahl &gt;1.</p>
</blockquote>
<p>Du meinst 'höchstens einmal' - oder?</p>
<p>&lt;---&gt; schrieb:</p>
<blockquote>
<p>Vermutlich mache ich einen Fehler beim Zugriff auf das zu löschende Element.</p>
</blockquote>
<p>Nein, ich glaube nicht, das Problem liegt woanders.</p>
<p>&lt;---&gt; schrieb:</p>
<blockquote>
<p>Denke der Iterator stimmt nicht, ich finde aber nicht wo. Wenn du es findest ist super, aber denke es ist schwierig zu finden, ohne zu debuggen. Meine Frage daher, bin ich auf dem richtigen Weg oder ist der Ansatz grundsätzlich falsch? Denn der Vector ist ja mit einer Struktur gefüllt.</p>
</blockquote>
<p>Der vector ist mit mehreren Elementen einer Struktur gefüllt.</p>
<p>&lt;---&gt; schrieb:</p>
<blockquote>
<p>Und wenn ich nicht lösche, sondern das betreffende Element der Struktur auf 0 setze, wird das richtige ausgegeben. s.u. v1[i]-&gt;mainIdent[0] = 0;</p>
</blockquote>
<p>Wenn ein Element im vector gelöscht worden ist, so existiert es nicht mehr. Es kann also auch nicht mehr ausgegeben werden; auch nicht mit einer '0'.</p>
<p>&lt;---&gt; schrieb:</p>
<blockquote>
<p>Von daher, kann man ein Vektorelement, das auf eine Struktur oder Klasse verweist überhaupt löschen?</p>
</blockquote>
<p>Ich verstehe nicht was Du mit dieser Frage meinst. Ein Vektorelement verweist auf keine Struktur.</p>
<p>&lt;---&gt; schrieb:</p>
<blockquote>
<pre><code class="language-cpp">v1.erase( startIterator +i ); //hier wird der falsche gelöscht
//    v1[i]-&gt;mainIdent[0] = 0;  löscht den Richtigen
</code></pre>
</blockquote>
<p>korrekt wäre hier, den Index 'i' zu dekrementieren, da er bereits auf das nächste Element verweist. Alle Elemente, die hinter dem gelöschten stehen, sind nach dem Löschen um einen Index nach vorne gerutscht.</p>
<p>Wie gibst Du den Vektor anschließend aus und wie viele Elemente besitzt er noch?</p>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1190911</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1190911</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Tue, 12 Dec 2006 22:06:33 GMT</pubDate></item><item><title><![CDATA[Reply to Datencontainer on Tue, 12 Dec 2006 22:47:41 GMT]]></title><description><![CDATA[<p>Oh, da habe ich mich anscheinend unklar ausgedrückt.</p>
<p>Ich möchte sicherstellen, dass nach dem Löschen von jedem Elementtyp noch eins da ist. Es muss also A, B, C mind 1 x vorhanden sein.</p>
<p>z.B.<br />
v1[i]-&gt;mainIdent: A<br />
nächstes v1[i+1]-&gt;mainIdent: B<br />
v1[i+1]-&gt;mainIdent: B<br />
v1[i+1]-&gt;mainIdent: C<br />
v1[i+1]-&gt;mainIdent: B<br />
v1[i+1]-&gt;mainIdent: B<br />
v1[i+1]-&gt;mainIdent: A<br />
v1[i+1]-&gt;mainIdent: C</p>
<p>Da ich das Löschen nicht hinbekommen habe, habe ich v1[i]-&gt;mainIdent[0] = 0; So konnte ich testen, was raus soll und welche angezeigt werden müssen. Das funktioniert auch richtig. Daher möchte ich das auf 0 setzen durch &quot;tatsächliches&quot; Löschen erseten.</p>
<p>Mit Stuktur meine ich, dass v1[i+1]-&gt;mainIdent, entsprechend wie TLinienSegment Liniea;<br />
Liniea.Punkte.push_back(p1);<br />
aufgebaut ist.</p>
<p>vector&lt;TLinienSegment&gt; Liniensegmente entspricht v1<br />
TLinienSegment Liniea;<br />
Liniea.label = &quot;A&quot;; Liniea.label entspricht mainIdent</p>
<p>Ich hoffe, es ist nachvollziehbar</p>
<p>nochmals vielen Dank!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1190923</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1190923</guid><dc:creator><![CDATA[*lt*---*gt*]]></dc:creator><pubDate>Tue, 12 Dec 2006 22:47:41 GMT</pubDate></item></channel></rss>