<?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[Winzige Frage zu einem Ausdruck]]></title><description><![CDATA[<p>Hallo, als C++-Anfänger habe ich eine winzige Frage zu einem Ausdruck, da ich gerade einen Code von C++ nach <a href="http://VB.NET" rel="nofollow">VB.NET</a> portiere:</p>
<pre><code class="language-cpp">if (! pNode)
{
 // foo
}
</code></pre>
<p>Wann wird in diese Schleife gesprungen, wenn pNode wie aussieht?</p>
<p>Grüße, Max</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/161934/winzige-frage-zu-einem-ausdruck</link><generator>RSS for Node</generator><lastBuildDate>Wed, 29 Jul 2026 19:41:11 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/161934.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 12 Oct 2006 12:52:33 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Winzige Frage zu einem Ausdruck on Thu, 12 Oct 2006 12:52:33 GMT]]></title><description><![CDATA[<p>Hallo, als C++-Anfänger habe ich eine winzige Frage zu einem Ausdruck, da ich gerade einen Code von C++ nach <a href="http://VB.NET" rel="nofollow">VB.NET</a> portiere:</p>
<pre><code class="language-cpp">if (! pNode)
{
 // foo
}
</code></pre>
<p>Wann wird in diese Schleife gesprungen, wenn pNode wie aussieht?</p>
<p>Grüße, Max</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1153563</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1153563</guid><dc:creator><![CDATA[max2006]]></dc:creator><pubDate>Thu, 12 Oct 2006 12:52:33 GMT</pubDate></item><item><title><![CDATA[Reply to Winzige Frage zu einem Ausdruck on Thu, 12 Oct 2006 12:56:47 GMT]]></title><description><![CDATA[<p>pNode ist ein Pointer, richtig? In dem Fall greift die mögliche Konvertierung von void* nach bool(bzw. int) - dabei wird NULL als false und jeder andere Pointer als true gedeutet.</p>
<p>Also springt du letztlich in die Abfrage (if ist keine Schleife!!), wenn pNode == NULL ist (also auf kein gültiges Objekt zeigt).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1153568</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1153568</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 12 Oct 2006 12:56:47 GMT</pubDate></item><item><title><![CDATA[Reply to Winzige Frage zu einem Ausdruck on Thu, 12 Oct 2006 13:08:50 GMT]]></title><description><![CDATA[<p>Alles klar, dann liege ich mit meinem</p>
<pre><code class="language-cpp">If IsNothing(oNode) = True Then
' foo
End If
</code></pre>
<p>ja genau richtig.<br />
Achja, es handelt sich selbstverständlich um keine Schleife sondern um ein If-Konstrukt. ; )</p>
<p>Grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1153583</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1153583</guid><dc:creator><![CDATA[maxe2006]]></dc:creator><pubDate>Thu, 12 Oct 2006 13:08:50 GMT</pubDate></item><item><title><![CDATA[Reply to Winzige Frage zu einem Ausdruck on Thu, 12 Oct 2006 13:32:18 GMT]]></title><description><![CDATA[<p>pNode ist eine Adresse. *pNode ist die Dereferenzierung der Adresse, liest also den Wert an der Adresse aus.</p>
<p>pNode kann z.B. auf irgendeine Adresse zeigen. Auch NULL (0) ist eine Adresse, die aber als &quot;nicht genutzt&quot; verwendet wird. D.h., dass wenn ein Pointer die Wert 0 / NULL hat, dass der Pointer auf &quot;nichts&quot; zeigt.</p>
<p>Daher ist es wichtig, einen Pointer immer auf NULL zu setzen, nachdem den Speicher, auf den er gezeigt hat, wieder freigegeben hat.</p>
<p>Ansonsten kommt es beim Dereferenzieren zu undefiniertem Verhalten:</p>
<pre><code class="language-cpp">// Irgendwo
pNode = new Node;
// ... später irgendwo
if (irgendwas_tritt_ein())
{
  delete pNode;
  pNode = NULL;
}
// ... noch später
if (pNode) // pNode zeigt auf NULL, d.h. der Block wird NICHT ausgeführt (pNode == NULL == 0 == false)
{
  pNode-&gt;DoIt(NOW); // Wäre pNode bereits gelöscht worden, aber NICHT auf NULL gesertzt worden, gäb's hier ein Problem.
}

if (!pNode) // Tue das nur, wenn pNode == NULL ist
 // foo
</code></pre>
<p>PS.: Nach Bjarne Stroustrup ist die Verwendung von NULL angeblich unschön.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1153604</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1153604</guid><dc:creator><![CDATA[der]]></dc:creator><pubDate>Thu, 12 Oct 2006 13:32:18 GMT</pubDate></item></channel></rss>