<?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[list iterator : direkte zuweisung eines Listen elements:]]></title><description><![CDATA[<p>geht sowas?</p>
<pre><code class="language-cpp">list&lt;DATA&gt; list;

DATA x,y,z;

list.push_back(x);
list.push_back(y);
list.push_back(z);

list&lt;DATA&gt;::iterator it= y;  //&lt;-- SOWAS IN DER ART
</code></pre>
<p>wenn ich nun it++; machen würde, müsst dann der inhalt it = z sein!!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/186010/list-iterator-direkte-zuweisung-eines-listen-elements</link><generator>RSS for Node</generator><lastBuildDate>Thu, 24 Sep 2026 06:36:41 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/186010.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 04 Jul 2007 05:40:21 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to list iterator : direkte zuweisung eines Listen elements: on Wed, 04 Jul 2007 05:40:21 GMT]]></title><description><![CDATA[<p>geht sowas?</p>
<pre><code class="language-cpp">list&lt;DATA&gt; list;

DATA x,y,z;

list.push_back(x);
list.push_back(y);
list.push_back(z);

list&lt;DATA&gt;::iterator it= y;  //&lt;-- SOWAS IN DER ART
</code></pre>
<p>wenn ich nun it++; machen würde, müsst dann der inhalt it = z sein!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1317871</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1317871</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Wed, 04 Jul 2007 05:40:21 GMT</pubDate></item><item><title><![CDATA[Reply to list iterator : direkte zuweisung eines Listen elements: on Wed, 04 Jul 2007 05:52:05 GMT]]></title><description><![CDATA[<p>probiers doch einfach mal aus?!, wenn dann net geht frag <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>Gruß Tobi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1317879</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1317879</guid><dc:creator><![CDATA[Tobi zu Gast]]></dc:creator><pubDate>Wed, 04 Jul 2007 05:52:05 GMT</pubDate></item><item><title><![CDATA[Reply to list iterator : direkte zuweisung eines Listen elements: on Wed, 04 Jul 2007 05:53:24 GMT]]></title><description><![CDATA[<p>wenn ich den code hier rein schreibe, werde ich ihn auch mal probiert haben oder???</p>
<p>Wenn geklappt hätte, hätte ich den code nich hier rein gestellt..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1317880</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1317880</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Wed, 04 Jul 2007 05:53:24 GMT</pubDate></item><item><title><![CDATA[Reply to list iterator : direkte zuweisung eines Listen elements: on Wed, 04 Jul 2007 06:04:42 GMT]]></title><description><![CDATA[<p>Und warum fragst Du dann &quot;geht sowas&quot;?</p>
<p>Nein, sowas geht nicht, Woher soll z denn wissen in welcher Position seine Kopie sich in der Liste befindet? Dafür gibt es std::find.</p>
<pre><code class="language-cpp">list&lt;DATA&gt;::iterator it = find(list.begin(),list.end(),y);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1317886</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1317886</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Wed, 04 Jul 2007 06:04:42 GMT</pubDate></item><item><title><![CDATA[Reply to list iterator : direkte zuweisung eines Listen elements: on Wed, 04 Jul 2007 06:06:19 GMT]]></title><description><![CDATA[<p>Nein, das geht nicht - die list&lt;&gt; enthält Kopien der übergebenen Werte, hat also überhaupt keinen Bezug mehr zu den Variablen x,y und z deines Hauptprogramms. Und die Variablen selber wissen überhaupt nicht, daß (und wenn ja, wo) irgendwo Kopien von ihnen herumfliegen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1317887</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1317887</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 04 Jul 2007 06:06:19 GMT</pubDate></item><item><title><![CDATA[Reply to list iterator : direkte zuweisung eines Listen elements: on Wed, 04 Jul 2007 06:34:23 GMT]]></title><description><![CDATA[<p>ok gut ist eigentlich logisch:</p>
<p>wenn ich nun sowas schreibe:</p>
<pre><code class="language-cpp">oRoot.front().father = std::find(oRoot.begin(), oRoot.end(),*(oRoot.front()));
</code></pre>
<p>Error: illeal indirektion</p>
<p>P.S: oRoot.front().father == iterator</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1317901</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1317901</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Wed, 04 Jul 2007 06:34:23 GMT</pubDate></item><item><title><![CDATA[Reply to list iterator : direkte zuweisung eines Listen elements: on Wed, 04 Jul 2007 06:44:29 GMT]]></title><description><![CDATA[<p>Geht es hier immer noch um deine altbekannte Baumstruktur? Wenn ja: Was genau verbirgt sich hinter oRoot?</p>
<p>PS: Ich würde mal vermuten, das Sternchen dort hinten ist überflüssig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1317909</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1317909</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 04 Jul 2007 06:44:29 GMT</pubDate></item><item><title><![CDATA[Reply to list iterator : direkte zuweisung eines Listen elements: on Wed, 04 Jul 2007 06:54:31 GMT]]></title><description><![CDATA[<p>ich bruach für Root als einzigsten element einen iterator auf das element... (sonderafall) d.h. der iterator zeigt auf das objekt in der Liste, welceh aber nur ein objekt enthält..</p>
<p>ohne das sternchen:</p>
<p>c:\Programme\Microsoft Visual Studio .NET 2003\Vc7\include\algorithm(31): error C2678: binary '==' : no operator found which takes a left-hand operand of type 'std::allocator&lt;_Ty&gt;::value_type' (or there is no acceptable conversion)<br />
with<br />
[<br />
_Ty=node<br />
]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1317914</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1317914</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Wed, 04 Jul 2007 06:54:31 GMT</pubDate></item><item><title><![CDATA[Reply to list iterator : direkte zuweisung eines Listen elements: on Wed, 04 Jul 2007 06:56:13 GMT]]></title><description><![CDATA[<p>*ausdernasezieh* und, gibt es einen operator== für node?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1317916</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1317916</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Wed, 04 Jul 2007 06:56:13 GMT</pubDate></item><item><title><![CDATA[Reply to list iterator : direkte zuweisung eines Listen elements: on Wed, 04 Jul 2007 06:59:06 GMT]]></title><description><![CDATA[<p>Sorry !!</p>
<p>ne.. gibt net will die referenz des objekt vergleiche... <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="😉"
    /> wie mach ich das dann</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1317918</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1317918</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Wed, 04 Jul 2007 06:59:06 GMT</pubDate></item><item><title><![CDATA[Reply to list iterator : direkte zuweisung eines Listen elements: on Wed, 04 Jul 2007 07:16:14 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/10318">@CStoll</a>: So sieht meine ++ operator aus..</p>
<pre><code class="language-cpp">if(!pos-&gt;children.empty()){
			pos_type tmp= pos;
			pos= pos-&gt;children.begin();
			pos-&gt;father=tmp;
		}
		//pos-&gt;father!= NULL ? (--pos-&gt;father-&gt;children.end()) : 
		if(pos-&gt;father!= NULL &amp;&amp; pos != (--pos-&gt;father-&gt;children.end())){
			pos_type tmp=pos-&gt;father;
            node *pX= &amp;(*(++pos));
			pos-&gt;father=tmp;
		}
		else{

			pos_type tmp=NULL;
			pos= ++(pos-&gt;father);

			if(pos-&gt;father != NULL)
				tmp=pos-&gt;father;

			pos-&gt;father=tmp;

			while(!pos-&gt;children.empty()){
				pos_type tmp= pos;		
				pos=pos-&gt;children.begin();
				pos-&gt;father=tmp;
			}
	}
</code></pre>
<p>dadurch das root aber kein father iterator zeigt welcher aud die rott selber zeigt, knallts...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1317928</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1317928</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Wed, 04 Jul 2007 07:16:14 GMT</pubDate></item><item><title><![CDATA[Reply to list iterator : direkte zuweisung eines Listen elements: on Wed, 04 Jul 2007 07:33:31 GMT]]></title><description><![CDATA[<p>Erstmal solltest du den Baum während des Traversierens nicht auseinandernehmen (pos gehört den Baum-Iterator und kann/muss weitergeschoben werden, pos-&gt;father solltest du nur lesen).</p>
<p>Und zweitens: Du hast doch schon die Abfrage <code>if(pos-&gt;father!=NULL)</code> , die prüft, ob du die Wurzel (nicht) erreicht hast - das fehlt nur noch ein <code>else return *this;</code> (wenn du beim Vorwärtsgehen zur Wurzel zurückgekommen bist, hast du den Baum komplett durchlaufen).</p>
<p>Drittens: Vergleich mal deinen Code mit dem, was ich dir bei den letzten Threads gegeben habe. Du gehst auf jeden Fall nicht weit genug nach oben, um wirklich den nächsten verfügbaren Onkel zu treffen (der muß nicht unbedingt in der Ebene über dir sein ;)).</p>
<p>Viertens: find() benötigt den Vergleichsoperator, um festzustellen, ob die Suche erfolgreich war. Im einfachsten Fall kannst du ihn definieren als:</p>
<pre><code class="language-cpp">bool operator==(const node&amp; l, const node&amp; r)
{ return &amp;l==&amp;r; }//Gleichheit definiert als Objektidentität
</code></pre>
<p>Alternativ kannst du einen Funktor schreiben, der zwei Objekte auf Identität vergleicht, und find_if() damit füttern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1317944</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1317944</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 04 Jul 2007 07:33:31 GMT</pubDate></item><item><title><![CDATA[Reply to list iterator : direkte zuweisung eines Listen elements: on Wed, 04 Jul 2007 07:50:00 GMT]]></title><description><![CDATA[<p>pos-&gt;father msus ich schreiben..</p>
<p>wenn vom Vater Knote naus der erste Knoten pos ist</p>
<p>und ich pos++ mache.. geht er ja zum nachbar (bruder) diese neu pos kennt aber father nich nicht als muss ich ihm den den pos-&gt;fathter vom vorigen linken knonten zuweise, damit der neue konten pos weis wer sein vater ist!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1317959</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1317959</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Wed, 04 Jul 2007 07:50:00 GMT</pubDate></item><item><title><![CDATA[Reply to list iterator : direkte zuweisung eines Listen elements: on Wed, 04 Jul 2007 07:55:19 GMT]]></title><description><![CDATA[<p>BorisDieKlinge schrieb:</p>
<blockquote>
<p>und ich pos++ mache.. geht er ja zum nachbar (bruder) diese neu pos kennt aber father nich nicht als muss ich ihm den den pos-&gt;fathter vom vorigen linken knonten zuweise, damit der neue konten pos weis wer sein vater ist!!</p>
</blockquote>
<p>Da hast du etwas beim Aufbau des Baumes falsch gemacht. Du solltest den father-Link schon dann korrekt eintragen, wenn du den Knoten in den Baum einfügst. (und wenn du Probleme mit den end()-Iteratoren befürchtest - die darfst du gar nicht dereferenzieren und ihnen demzufolge auch keinen neuen father zuweisen)</p>
<p>PS: Nur aus persönlichem Interesse, aber was genau willst du mit dieser Baumstruktur erreichen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1317961</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1317961</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 04 Jul 2007 07:55:19 GMT</pubDate></item><item><title><![CDATA[Reply to list iterator : direkte zuweisung eines Listen elements: on Wed, 04 Jul 2007 07:56:41 GMT]]></title><description><![CDATA[<p>BorisDieKlinge schrieb:</p>
<blockquote>
<p>pos-&gt;father msus ich schreiben..</p>
</blockquote>
<p>Ja, aber doch nicht im Iterator!</p>
<p>Warum setzt du diese Information nicht sofort, wenn ein Knoten eingetragen oder verschoben wird? Es ist doch nicht Aufgabe eines Iterators, die Datenstruktur seines Containes aufzuräumen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1317962</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1317962</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Wed, 04 Jul 2007 07:56:41 GMT</pubDate></item><item><title><![CDATA[Reply to list iterator : direkte zuweisung eines Listen elements: on Wed, 04 Jul 2007 08:05:56 GMT]]></title><description><![CDATA[<p>Für deine persönliche Interesse:</p>
<p>Die baumstruktur soll später eine gruppierung von Zeitlichen Allokationen darstellen , wobei dann quasie ein Knoten mit Kinder Knoten die Alloktioen mit der gesamtzeit aller darunterliegenden Allokationen darstellt.</p>
<p>die gesamstzeit alle Blätter allokationen entsprich dann der zeit der Knoten allokationen (Hauptallokation)</p>
<p>und ich muss primär nur die blätter iterieren können...</p>
<p>wenn ich bespielsweise eien knoten an den Vater welcher der zweit knoten des Großvaters ist anhängen will, muss ich ja quasie den iterator des Grovaters erst inkrementieren damit ich einen enkel an den richtigen vater anhägen kann?</p>
<p>EDIT: <a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/2803">@MFK</a>.. ja .. hab gedacht.. das ist überflüssig... sorry...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1317965</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1317965</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Wed, 04 Jul 2007 08:05:56 GMT</pubDate></item><item><title><![CDATA[Reply to list iterator : direkte zuweisung eines Listen elements: on Wed, 04 Jul 2007 08:11:49 GMT]]></title><description><![CDATA[<p>So, damit sind wohl alle Klarheiten beseitigt <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>Eventuell kannst du dir die Arbeit erleichtern, wenn du nur eine Liste für ALLE Knoten verwendest und in jedem Knoten nur drei Iteratoren auf seinen Vater und seine Söhne verwaltest. (da mußt du beim Einfügen nur darauf achten, daß die Kinder eines Knotens zusammenhängend in der Liste stehen)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1317971</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1317971</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 04 Jul 2007 08:11:49 GMT</pubDate></item><item><title><![CDATA[Reply to list iterator : direkte zuweisung eines Listen elements: on Wed, 04 Jul 2007 08:20:04 GMT]]></title><description><![CDATA[<p>wenn ich ein kindkonten anfüge, ist es dann so in ordnung ?</p>
<pre><code class="language-cpp">void add(node &amp;oChild){

		oChild.father= (--children.end());
		//oScr.pFather=this;
		children.push_back(oChild);

	}
</code></pre>
<p>so wird beim anhängen dem kindkonten der vater iterator zugewiesen? oder geht das so nich?</p>
<p>wenn ich nun irgendwo ein knoten einfüge, muss ich ja alle vater-itoratoen der brüder knoten anpassen nehm ich an??</p>
<p>Zu deiner IDEE mit alle Knoten in einer Liste (was sich nich schlecht anhört) versteht ich aber nicht dies : =&gt; &quot;in jedem Knoten nur <strong>drei Iteratoren</strong> auf seinen Vater und seine Söhne verwaltest&quot;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1317976</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1317976</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Wed, 04 Jul 2007 08:20:04 GMT</pubDate></item><item><title><![CDATA[Reply to list iterator : direkte zuweisung eines Listen elements: on Wed, 04 Jul 2007 08:21:00 GMT]]></title><description><![CDATA[<p>wenn du primär nur über die blätter iterieren musst, dann nutz doch eine std::list, die zeiger auf die Knoten enthält. Dann musst du nurnoch über die liste anstatt über den Baum iterieren.<br />
Ist zwar ein wenig zusätzlicher speicherverbrauch, aber einfacher zu implementieren und schneller.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1317978</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1317978</guid><dc:creator><![CDATA[otze]]></dc:creator><pubDate>Wed, 04 Jul 2007 08:21:00 GMT</pubDate></item><item><title><![CDATA[Reply to list iterator : direkte zuweisung eines Listen elements: on Wed, 04 Jul 2007 08:24:11 GMT]]></title><description><![CDATA[<p>BorisDieKlinge schrieb:</p>
<blockquote>
<p>Zu deiner IDEE mit alle Knoten in einer Liste (was sich nich schlecht anhört) versteht ich aber nicht dies : =&gt; &quot;in jedem Knoten nur <strong>drei Iteratoren</strong> auf seinen Vater und seine Söhne verwaltest&quot;</p>
</blockquote>
<p>Ein Iterator zeigt auf den Vater und zwei definieren den Bereich, in dem die Kinder stehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1317980</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1317980</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 04 Jul 2007 08:24:11 GMT</pubDate></item></channel></rss>