<?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[Listen]]></title><description><![CDATA[<p>Ich habe folgenden Codeabschnitt gefunden.<br />
Mich stören daran zwei Sachen.</p>
<p>1)Direkt am Anfang wird ein Zeiger l deklariert.<br />
Dieser zeigt auf ein Element vom Typ ListElement und ändert digit und next.<br />
Das Problom ist l zeigt ja gar nicht auf ein konkretes Objekt.</p>
<ol start="2">
<li>Warum wird am Ende l=lh gesetzt?<br />
Ist das nicht totaler Unsinn?</li>
</ol>
<pre><code>struct ListElement
{
int digit;
ListElement *next;
};

ListElement *l= new ListElement;
l-&gt;digit = 5;
l-&gt;next = NULL;
ListElement*lh = new ListElement;
lh-&gt;digit = 3;
lh-&gt;next = l;
l = lh;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/322780/listen</link><generator>RSS for Node</generator><lastBuildDate>Thu, 16 Jul 2026 15:43:25 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/322780.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 06 Jan 2014 15:16:38 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Listen on Mon, 06 Jan 2014 15:34:16 GMT]]></title><description><![CDATA[<p>Ich habe folgenden Codeabschnitt gefunden.<br />
Mich stören daran zwei Sachen.</p>
<p>1)Direkt am Anfang wird ein Zeiger l deklariert.<br />
Dieser zeigt auf ein Element vom Typ ListElement und ändert digit und next.<br />
Das Problom ist l zeigt ja gar nicht auf ein konkretes Objekt.</p>
<ol start="2">
<li>Warum wird am Ende l=lh gesetzt?<br />
Ist das nicht totaler Unsinn?</li>
</ol>
<pre><code>struct ListElement
{
int digit;
ListElement *next;
};

ListElement *l= new ListElement;
l-&gt;digit = 5;
l-&gt;next = NULL;
ListElement*lh = new ListElement;
lh-&gt;digit = 3;
lh-&gt;next = l;
l = lh;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2375597</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2375597</guid><dc:creator><![CDATA[Ravend]]></dc:creator><pubDate>Mon, 06 Jan 2014 15:34:16 GMT</pubDate></item><item><title><![CDATA[Reply to Listen on Mon, 06 Jan 2014 15:30:06 GMT]]></title><description><![CDATA[<blockquote>
<p>Das Problom ist l zeigt ja gar nicht auf ein konkretes Objekt.</p>
</blockquote>
<p>Doch. Auf das mit <code>new</code> erstellte Objekt auf dem Freispeicher.</p>
<blockquote>
<p>Warum wird am Ende l=lh gesetzt?</p>
</blockquote>
<p>Wie wäre es mit mehr Kontext? Hast du den Code einfach irgendwo rauskopiert?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2375604</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2375604</guid><dc:creator><![CDATA[Columbo]]></dc:creator><pubDate>Mon, 06 Jan 2014 15:30:06 GMT</pubDate></item><item><title><![CDATA[Reply to Listen on Mon, 06 Jan 2014 15:33:11 GMT]]></title><description><![CDATA[<p>zu 1) natürlich zeigt l auf eine Instanz, nämlich auf die mit &quot;new&quot; erzeugte.</p>
<p>zu 2) warum sollte das totaler Unsinn sein? da lh-&gt;next = l gesetzt wird, ist ein Ring mit zwei Elementen entstanden. Warum genau anschließend l=lh gesetzt wird, ist nicht erkennbar, da es die letzte Anweisung ist.</p>
<p>edit: damn, arcoth war schneller...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2375606</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2375606</guid><dc:creator><![CDATA[daddy_felix]]></dc:creator><pubDate>Mon, 06 Jan 2014 15:33:11 GMT</pubDate></item><item><title><![CDATA[Reply to Listen on Mon, 06 Jan 2014 15:36:08 GMT]]></title><description><![CDATA[<p>Alles ok, die Liste wird nur komisch verwendet.<br />
l soll immer auf den Listenanfang zeigen, darum wird l=lh geschrieben.</p>
<p>So geht das:</p>
<pre><code>//SEHR untypische Liste für C++. Uraltes Lehrbuch. 
//Man strickt normalerweise eine Klasse Liste drum für eine 
//nettere Schnittstelle. 
struct ListElement 
{
int digit;
ListElement *next;
};

//Leere Liste anlegen
ListElement *l=NULL;

{//4 einfügen
ListElement*lh = new ListElement;
lh-&gt;digit = 4;
lh-&gt;next = l;
l = lh;
}

{//7 einfügen
ListElement*lh = new ListElement;
lh-&gt;digit = 7;
lh-&gt;next = l;
l = lh;
}

{//1 einfügen
ListElement*lh = new ListElement;
lh-&gt;digit = 1;
lh-&gt;next = l;
l = lh;
}

{//1 einfügen
ListElement*lh = new ListElement;
lh-&gt;digit = 1;
lh-&gt;next = l;
l = lh;
}

//Mal schauen, was vorne in der Liste steckt. 
cout &lt;&lt; l-&gt;digit &lt;&lt;'\n';//zwigt 1 an

//Alles rausholen und anzeigen!
//Zeigt 1 1 7 4 an. 
while(l!=NULL){
   cout &lt;&lt; l-&gt;digit &lt;&lt;'\n';
   ListeElement* toDie=l;
   l=l-&gt;next;
   delete toDie;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2375608</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2375608</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Mon, 06 Jan 2014 15:36:08 GMT</pubDate></item><item><title><![CDATA[Reply to Listen on Mon, 06 Jan 2014 17:05:34 GMT]]></title><description><![CDATA[<p>Stimmt - eine SEHR untypische Liste, im Grunde gar keine C++-Like-Liste<br />
und wenn man nur einen kleinen Kontruktor hinzufügen würde, vereinfacht sich das ganze schon deutlich:</p>
<pre><code>//SEHR untypische Liste für C++. Uraltes Lehrbuch.
//Man strickt normalerweise eine Klasse Liste drum für eine
//nettere Schnittstelle.
struct ListElement
{
    ListElement( int d, ListElement* n )
        : digit( d )
        , next( n )
    {}
    int digit;
    ListElement *next;
};

//Leere Liste anlegen
ListElement *l=NULL;

l = new ListElement( 4, l ); //4 einfügen
l = new ListElement( 7, l ); //7 einfügen
l = new ListElement( 1, l ); //1 einfügen 
l = new ListElement(1, l ); //1 einfügen

//Mal schauen, was vorne in der Liste steckt.
cout &lt;&lt; l-&gt;digit &lt;&lt;'\n';//zeigt 1 an

//Alles rausholen und anzeigen!
//Zeigt 1 1 7 4 an.
while(l!=NULL){
   cout &lt;&lt; l-&gt;digit &lt;&lt;'\n';
   ListeElement* toDie=l;
   l=l-&gt;next;
   delete toDie;
}
</code></pre>
<p>sucht man in Google nach &quot;struct ListElement C++&quot; - so findet man schon auf der ersten Seite Hinweise auf den Verlag Galileo Computing <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_down"
      title=":-1:"
      alt="👎"
    /></p>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2375629</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2375629</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Mon, 06 Jan 2014 17:05:34 GMT</pubDate></item></channel></rss>