<?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[Komischer Fehler (Steh ich jetzt aufm Schlauch???)]]></title><description><![CDATA[<p>Der Code:</p>
<pre><code class="language-cpp">m_pplTimeMatrix= new T*[m_iSize];
for(int i=0; i&lt;m_iSize; m_pplTimeMatrix[i]= new T[m_iSize], i++){
   for(int k=0; k&lt;m_iSize; k++) //&lt;-- (A)
	m_pplTimeMatrix[i][k]=NULL; //&lt;--- (B)
}
</code></pre>
<p>In der Zeile (siehe A) ist die Variable i noch 0 springt er dann in die zweite verschachtelte Schleife (siehe <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f60e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--smiling_face_with_sunglasses"
      title="B)"
      alt="😎"
    /> ist i plötlich (123542) ???</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/176586/komischer-fehler-steh-ich-jetzt-aufm-schlauch</link><generator>RSS for Node</generator><lastBuildDate>Sat, 19 Sep 2026 14:11:38 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/176586.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 22 Mar 2007 15:43:10 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Komischer Fehler (Steh ich jetzt aufm Schlauch???) on Thu, 22 Mar 2007 15:43:37 GMT]]></title><description><![CDATA[<p>Der Code:</p>
<pre><code class="language-cpp">m_pplTimeMatrix= new T*[m_iSize];
for(int i=0; i&lt;m_iSize; m_pplTimeMatrix[i]= new T[m_iSize], i++){
   for(int k=0; k&lt;m_iSize; k++) //&lt;-- (A)
	m_pplTimeMatrix[i][k]=NULL; //&lt;--- (B)
}
</code></pre>
<p>In der Zeile (siehe A) ist die Variable i noch 0 springt er dann in die zweite verschachtelte Schleife (siehe <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f60e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--smiling_face_with_sunglasses"
      title="B)"
      alt="😎"
    /> ist i plötlich (123542) ???</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1250599</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1250599</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Thu, 22 Mar 2007 15:43:37 GMT</pubDate></item><item><title><![CDATA[Reply to Komischer Fehler (Steh ich jetzt aufm Schlauch???) on Thu, 22 Mar 2007 15:58:31 GMT]]></title><description><![CDATA[<p>Du schreibst bei B in einen nichtinitialisierten Bereich (matrix[i] ist ein gültiges Datum, zeigt aber ins Nirvana, deshalb ist matrix[i][k] undefiniert).</p>
<p>Geh nochmal die for-Anweisung durch <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1250613</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1250613</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Thu, 22 Mar 2007 15:58:31 GMT</pubDate></item><item><title><![CDATA[Reply to Komischer Fehler (Steh ich jetzt aufm Schlauch???) on Thu, 22 Mar 2007 18:29:14 GMT]]></title><description><![CDATA[<p>versteh ich grad nich.. steh immer noch aufm Schlauch... oh mann</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1250734</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1250734</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Thu, 22 Mar 2007 18:29:14 GMT</pubDate></item><item><title><![CDATA[Reply to Komischer Fehler (Steh ich jetzt aufm Schlauch???) on Thu, 22 Mar 2007 19:02:38 GMT]]></title><description><![CDATA[<p>ist das , i++ ein Tippfehler oder absicht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1250752</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1250752</guid><dc:creator><![CDATA[frageist leider bereits b]]></dc:creator><pubDate>Thu, 22 Mar 2007 19:02:38 GMT</pubDate></item><item><title><![CDATA[Reply to Komischer Fehler (Steh ich jetzt aufm Schlauch???) on Thu, 22 Mar 2007 19:51:44 GMT]]></title><description><![CDATA[<p>absicht....</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1250800</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1250800</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Thu, 22 Mar 2007 19:51:44 GMT</pubDate></item><item><title><![CDATA[Reply to Komischer Fehler (Steh ich jetzt aufm Schlauch???) on Thu, 22 Mar 2007 20:08:46 GMT]]></title><description><![CDATA[<p>Ok,</p>
<p>ich denke, es geht um Folgendes:</p>
<p>BorisDieKlinge schrieb:</p>
<blockquote>
<pre><code class="language-cpp">.... m_pplTimeMatrix[i]= new T[m_iSize], // Hier holst Du für den i. Eintrag Speicher
                          i++){ // Hier erhöhst Du i anschließend !
...
	m_pplTimeMatrix[i][k]=NULL; // Hier ist i eins höher als beim new
</code></pre>
</blockquote>
<p>Mit einem</p>
<pre><code class="language-cpp">... m_pplTimeMatrix[++i] = new T[m_iSize]) // und kein i++ mehr
</code></pre>
<p>kämst Du vermutlich klar.</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1250812</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1250812</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Thu, 22 Mar 2007 20:08:46 GMT</pubDate></item><item><title><![CDATA[Reply to Komischer Fehler (Steh ich jetzt aufm Schlauch???) on Thu, 22 Mar 2007 20:24:38 GMT]]></title><description><![CDATA[<p>würdest aber nicht bei 0 anfangen ...<br />
=&gt;</p>
<pre><code class="language-cpp">m_pplTimeMatrix= new T*[m_iSize];
for (unsigned short time_x = 0; time_x &lt; m_iSize; ++time_x)
{
    m_pplTimeMatrix[time_x] = new T[m_iSize], 
    for (unsigned short time_y = 0; time_y &lt; m_iSize; ++time_y)
        m_pplTimeMatrix[time_x][time_y] = NULL;
}
</code></pre>
<p>und schon sollte das gehen <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1250823</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1250823</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Thu, 22 Mar 2007 20:24:38 GMT</pubDate></item><item><title><![CDATA[Reply to Komischer Fehler (Steh ich jetzt aufm Schlauch???) on Fri, 23 Mar 2007 04:27:42 GMT]]></title><description><![CDATA[<p>gut aber ich dachte das i wird erst nach der Iteration (Nach den Anweisungen i, for- Schleifen Block erhöht??</p>
<p>d.h.:</p>
<pre><code class="language-cpp">for (int i = 0; i &lt; m_iSize; ++i){ 
   m_pplTimeMatrix[i] = new T[m_iSize];
   ....
}
</code></pre>
<p>verhält sich anders als:</p>
<pre><code class="language-cpp">for (int i = 0; i &lt; m_iSize;m_pplTimeMatrix[i] = new T[m_iSize], ++i){ 
    ....
}
</code></pre>
<p>aber wieso?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1250905</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1250905</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Fri, 23 Mar 2007 04:27:42 GMT</pubDate></item><item><title><![CDATA[Reply to Komischer Fehler (Steh ich jetzt aufm Schlauch???) on Fri, 23 Mar 2007 06:16:01 GMT]]></title><description><![CDATA[<p>BorisDieKlinge schrieb:</p>
<blockquote>
<p>gut aber ich dachte das i wird erst nach der Iteration (Nach den Anweisungen i, for- Schleifen Block erhöht??</p>
<p>d.h.:</p>
<pre><code class="language-cpp">for (int i = 0; i &lt; m_iSize; ++i){ 
   m_pplTimeMatrix[i] = new T[m_iSize];
   ....
}
</code></pre>
<p>verhält sich anders als:</p>
<pre><code class="language-cpp">for (int i = 0; i &lt; m_iSize;m_pplTimeMatrix[i] = new T[m_iSize], ++i){ 
    ....
}
</code></pre>
</blockquote>
<p>Ja was dachtest Du denn?<br />
a) Du hast festgestellt: i wird erst nach dem Schleifendurchlauf erhöht<br />
b) im ersten Beispiel machst Du new explizit am Anfang des Durchlaufs<br />
c) im zweiten Beispiel machst Du new in einer Kommaliste zusammen mit ++i, welches am Ende des Durchlaufs ausgeführt wird</p>
<p>Wann wird nun new im Fall c) durchgeführt? (Tipp: Unmittelbar vor ++i).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1250914</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1250914</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Fri, 23 Mar 2007 06:16:01 GMT</pubDate></item><item><title><![CDATA[Reply to Komischer Fehler (Steh ich jetzt aufm Schlauch???) on Fri, 23 Mar 2007 06:32:22 GMT]]></title><description><![CDATA[<p>hmm ok.. dann müsste die ganze Geschichte gehen wenn ich das &quot;new...&quot; und &quot;i++&quot; vertausche?</p>
<pre><code class="language-cpp">for (int i = 0; i &lt; m_iSize;, ++i,m_pplTimeMatrix[i] = new T[m_iSize]){ 
    .... 
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1250916</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1250916</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Fri, 23 Mar 2007 06:32:22 GMT</pubDate></item><item><title><![CDATA[Reply to Komischer Fehler (Steh ich jetzt aufm Schlauch???) on Fri, 23 Mar 2007 06:34:27 GMT]]></title><description><![CDATA[<p>btw, kann sein das das nur mir so geht aber ich finde das fällt unter Mißbrauch einer for-Schleife <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>die new-Anweisung in der inkrement-bedingung gehört da imho einfach nciht hin. Das führt nur zu Problemen, vor allem weil sich die schleife hier unerwartet verhält.</p>
<p>Normalerweile wenn ich eine Schleife im Stil for (i=0; i&lt;5; ++i) baue, dann erwarte ich als gültige werte 0,1,2,3,4 . Ich würde also auch erwartem das in dem Beispiel m_pplTimeMatrix[] von 0 bis 4 initialisiert wird.</p>
<p>Jedoch genau das ist nciht der Fall, denn die Iteration wird ja am Ende der for-schleife durchgeführt _vor_ der Abbruchbedingung. Demnach werden bei diesem Schleifenkonstrukt am ende m_pplTimeMatrix[] von 0 bis 5 initialisiert sein. (Mal davon ausgehend das dieses Konstrukt überhaupt richtig funktioniert).</p>
<p>Allein deswegen würde ich schon dringend von solchen &quot;Ich bin cooler&quot; Konstrukten abraten. was ist denn falsch an einer schönen, einfachen Schleife wie dieser:</p>
<p>[cpp]<br />
for (int i = 0; i &lt; m_iSize; ++i){<br />
m_pplTimeMatrix[i] = new T[m_iSize];<br />
....<br />
}<br />
[/code]</p>
<p>Mal davon abgesehen das man nur eine Zeile hat in der new steht und nicht zwei.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1250917</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1250917</guid><dc:creator><![CDATA[bloblo]]></dc:creator><pubDate>Fri, 23 Mar 2007 06:34:27 GMT</pubDate></item><item><title><![CDATA[Reply to Komischer Fehler (Steh ich jetzt aufm Schlauch???) on Fri, 23 Mar 2007 06:41:43 GMT]]></title><description><![CDATA[<p>BorisDieKlinge schrieb:</p>
<blockquote>
<p>hmm ok.. dann müsste die ganze Geschichte gehen wenn ich das &quot;new...&quot; und &quot;i++&quot; vertausche?</p>
<pre><code class="language-cpp">for (int i = 0; i &lt; m_iSize;, ++i,m_pplTimeMatrix[i] = new T[m_iSize]){ 
    .... 
}
</code></pre>
</blockquote>
<p>Muss ich jetzt allen ernstes für Dich die for-Schleife aufdröseln?</p>
<pre><code class="language-cpp">for (init; cond; cont) { ... } // entspricht
init; while (cond) { ...; cont; }
</code></pre>
<p>Die Allokation des Speichers für matrix[i] wird <strong>unmittelbar</strong> vor oder nach ++i stattfinden (je nach Reihenfolge), und damit <strong>am Ende</strong> des Schleifenkörpers. Da Du auf matrix[i] <strong>im</strong> Schleifenkörper bereits zugreifst, wird das so nicht ordentlich funktionieren <strong>können</strong>.</p>
<p>Davon ab halte ich es mit bloblo.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1250919</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1250919</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Fri, 23 Mar 2007 06:41:43 GMT</pubDate></item><item><title><![CDATA[Reply to Komischer Fehler (Steh ich jetzt aufm Schlauch???) on Fri, 23 Mar 2007 07:35:08 GMT]]></title><description><![CDATA[<p>hmm ok .. stimmt sorry.. KLEINER Denkfehler <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="😃"
    /> ! Aber danke für die Aufklärung</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1250934</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1250934</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Fri, 23 Mar 2007 07:35:08 GMT</pubDate></item><item><title><![CDATA[Reply to Komischer Fehler (Steh ich jetzt aufm Schlauch???) on Fri, 23 Mar 2007 08:23:15 GMT]]></title><description><![CDATA[<p>BorisDieKlinge schrieb:</p>
<blockquote>
<p>gut aber ich dachte das i wird erst nach der Iteration (Nach den Anweisungen i, for- Schleifen Block erhöht??...</p>
</blockquote>
<p>Ein &quot;beliebtes&quot; Mißverständnis des Post-Operators. Der Unterschied zwischen Post- und Pre- liegt an der Reihenfolge zwischen Increment und Ergebnis-Zuweisung ! Da Du das Ergebnis von i++ gar nicht verwendest, hat das gar nichts mit der Schleife zu tun !</p>
<p>BorisDieKlinge schrieb:</p>
<blockquote>
<p>gut aber ich dachte das i wird erst nach der Iteration (Nach den Anweisungen i, for- Schleifen Block erhöht??</p>
<p>d.h.:</p>
<pre><code class="language-cpp">for (int i = 0; i &lt; m_iSize; ++i){ 
   m_pplTimeMatrix[i] = new T[m_iSize];
   ....
}
</code></pre>
<p>verhält sich anders als:</p>
<pre><code class="language-cpp">for (int i = 0; i &lt; m_iSize;m_pplTimeMatrix[i] = new T[m_iSize], ++i){ 
    ....
}
</code></pre>
<p>aber wieso?</p>
</blockquote>
<p>Genau DAS habe ich Dir in meinem ersten Posting erklärt....<br />
und übrigens das Verhalten der ersten Variante ist genau das, das Du haben willst und keinen Fehler verursacht. <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="😃"
    /> (und sauberer ist es sowieso)</p>
<p>BorisDieKlinge schrieb:</p>
<blockquote>
<p>hmm ok.. dann müsste die ganze Geschichte gehen wenn ich das &quot;new...&quot; und &quot;i++&quot; vertausche?</p>
<pre><code class="language-cpp">for (int i = 0; i &lt; m_iSize;, ++i,m_pplTimeMatrix[i] = new T[m_iSize]){ 
    .... 
}
</code></pre>
</blockquote>
<p>Mal abgesehen davon, dass ich bloblo zustimme: Warum nimmst Du nicht meinen Tipp aus meinem ersten Posting an ? Warum inkrementierst Du i nicht da, wo Du es brauchst: In m_pplTimeMatrix[++i] ?</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1250951</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1250951</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Fri, 23 Mar 2007 08:23:15 GMT</pubDate></item><item><title><![CDATA[Reply to Komischer Fehler (Steh ich jetzt aufm Schlauch???) on Fri, 23 Mar 2007 08:55:14 GMT]]></title><description><![CDATA[<p>ok Chef;) mach ich <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="😉"
    /> Danke <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1250968</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1250968</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Fri, 23 Mar 2007 08:55:14 GMT</pubDate></item><item><title><![CDATA[Reply to Komischer Fehler (Steh ich jetzt aufm Schlauch???) on Fri, 23 Mar 2007 08:58:06 GMT]]></title><description><![CDATA[<p>Gern geschehen !</p>
<p>Good luck,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1250971</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1250971</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Fri, 23 Mar 2007 08:58:06 GMT</pubDate></item></channel></rss>