<?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[Verständnisprobleme im Zusammenhang mit Initialisierung]]></title><description><![CDATA[<p>Hi,</p>
<p>bin dabei, einen Beispielcode aufzuschlüsseln, und bleibe bei folgendem hängen:</p>
<pre><code>class TCorner {
public:
  const TCorner *Parent;
  ... 
  einige Int-Felder, kein Konstruktor
};

static TCorner root_corner = {(TCorner*) NULL};
</code></pre>
<p>Ich versteh die letzte Zeile nicht, muss aber zugeben, dass ich (noch) nicht viel Ahnung von C++ habe. Was bedeutet der Term {(TCorner*) NULL}? root_corner ist doch keine Zeigervariable.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/317375/verständnisprobleme-im-zusammenhang-mit-initialisierung</link><generator>RSS for Node</generator><lastBuildDate>Wed, 29 Jul 2026 01:19:10 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/317375.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 06 Jun 2013 16:25:12 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Verständnisprobleme im Zusammenhang mit Initialisierung on Thu, 06 Jun 2013 16:25:12 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>bin dabei, einen Beispielcode aufzuschlüsseln, und bleibe bei folgendem hängen:</p>
<pre><code>class TCorner {
public:
  const TCorner *Parent;
  ... 
  einige Int-Felder, kein Konstruktor
};

static TCorner root_corner = {(TCorner*) NULL};
</code></pre>
<p>Ich versteh die letzte Zeile nicht, muss aber zugeben, dass ich (noch) nicht viel Ahnung von C++ habe. Was bedeutet der Term {(TCorner*) NULL}? root_corner ist doch keine Zeigervariable.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2329042</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2329042</guid><dc:creator><![CDATA[erin]]></dc:creator><pubDate>Thu, 06 Jun 2013 16:25:12 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnisprobleme im Zusammenhang mit Initialisierung on Thu, 06 Jun 2013 16:40:10 GMT]]></title><description><![CDATA[<p>Das ist das gleiche wie</p>
<pre><code>struct foo
{
  int a;
  double b;
  string c;
  int d;
};

// ...

foo bar = {12, 3.4, &quot;Huhu&quot;}; // Achtung: bar.d nicht initialisiert!
</code></pre>
<p>Das ist einfach eine Möglichkeit der Initialisierung. Bloß ist hier der initialisierte Datenmember ein Zeiger (TCorner::Parent).</p>
<p>Das <code>(TCorner*) NULL</code> an sich ist sehr merkwürdig. <code>NULL</code> oder <code>0</code> würden schon reichen. Heutzutage würde man nullptr benutzen, aber der Code ist wohl etwas älter. Insgesamt fühle ich mich unwohl, wenn ich diesen Code sehe. Man kann es zwar nur ahnen, aber er sieht aus wie ein Teil von einem größeren, unsauberen Code.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2329044</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2329044</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 06 Jun 2013 16:40:10 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnisprobleme im Zusammenhang mit Initialisierung on Thu, 06 Jun 2013 17:11:12 GMT]]></title><description><![CDATA[<p>Die nicht in der <em>initializer list</em> aufgeführten Member werden &quot;<em>value initialized</em>&quot;. w1, w2, und w3 unten sind alle gleich.</p>
<pre><code class="language-cpp">#include &lt;cassert&gt;

struct widget{
  const char* p;
  int i;
  double j;
};

int main(){
  widget w1 = { nullptr };  // Dein Beispiel
  widget w2 = { 0, 0, 0 };
  widget w3 = { };
  assert(w1.p == w2.p &amp;&amp; w1.p == w3.p);
  assert(w1.i == w2.i &amp;&amp; w1.i == w3.i);
  assert(w1.j == w2.j &amp;&amp; w1.j == w3.j);
}
</code></pre>
<p>Ich bin mir auch nicht sicher, ob das &quot;guter Stoff&quot; zum lernen von C++ ist...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2329049</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2329049</guid><dc:creator><![CDATA[Furble Wurble]]></dc:creator><pubDate>Thu, 06 Jun 2013 17:11:12 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnisprobleme im Zusammenhang mit Initialisierung on Fri, 07 Jun 2013 07:05:40 GMT]]></title><description><![CDATA[<p>Danke, ist klar jetzt. Wenn ich also nur einzelne Felder initialisieren will, müssen die demnach am Anfang stehen.</p>
<p>Zum Code: In der Tat ist der Code schon älter, so um 2002 herum. Es handelt sich um einen Quadtree-Algorithmus (LOD), programmiert übrigens von Ulrich Thatcher, der sich in dem Bereich durchaus einen Namen gemacht hat. Trotzdem ist der Code grässlich und unübersichtlich. Ich will daran nicht unbedingt lernen, aber ich muss den Algorithmus irgendwie für meine Zwecke umsetzen, und noch habe ich Hoffnung, dass ich den Code etwas &quot;glätten&quot; kann (wobei man ja auch was lernt).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2329159</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2329159</guid><dc:creator><![CDATA[erin]]></dc:creator><pubDate>Fri, 07 Jun 2013 07:05:40 GMT</pubDate></item></channel></rss>