<?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[Initialisierungsliste]]></title><description><![CDATA[<p>Hallo, ich habe eine Frage bezüglich der Initialisierungsliste: Wird ein Member des Objekts sofort aktualisiert oder erst nach Ablauf der Ini-Liste? Gegeben sei folgender Code:</p>
<pre><code>class String {
public:
    String(const char* s) : len(strlen(s)), cap(len) { }
private:
    size_t len;
    size_t cap;
};
</code></pre>
<p>Bei mir ist <code>cap</code> 3435973836. Scheint wohl undefiniert zu sein, obwohl in der Ini-Liste <code>cap</code> mit <code>len</code> initialisiert wird / werden soll.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/313202/initialisierungsliste</link><generator>RSS for Node</generator><lastBuildDate>Sun, 02 Aug 2026 08:41:37 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/313202.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 24 Jan 2013 07:28:04 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Initialisierungsliste on Thu, 24 Jan 2013 07:28:04 GMT]]></title><description><![CDATA[<p>Hallo, ich habe eine Frage bezüglich der Initialisierungsliste: Wird ein Member des Objekts sofort aktualisiert oder erst nach Ablauf der Ini-Liste? Gegeben sei folgender Code:</p>
<pre><code>class String {
public:
    String(const char* s) : len(strlen(s)), cap(len) { }
private:
    size_t len;
    size_t cap;
};
</code></pre>
<p>Bei mir ist <code>cap</code> 3435973836. Scheint wohl undefiniert zu sein, obwohl in der Ini-Liste <code>cap</code> mit <code>len</code> initialisiert wird / werden soll.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2292855</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2292855</guid><dc:creator><![CDATA[Object54323]]></dc:creator><pubDate>Thu, 24 Jan 2013 07:28:04 GMT</pubDate></item><item><title><![CDATA[Reply to Initialisierungsliste on Thu, 24 Jan 2013 07:42:33 GMT]]></title><description><![CDATA[<p>Object54323 schrieb:</p>
<blockquote>
<p>Hallo, ich habe eine Frage bezüglich der Initialisierungsliste: Wird ein Member des Objekts sofort aktualisiert oder erst nach Ablauf der Ini-Liste? Gegeben sei folgender Code:</p>
<pre><code>class String {
public:
    String(const char* s) : len(strlen(s)), cap(len) { }
private:
    size_t len;
    size_t cap;
};
</code></pre>
<p>Bei mir ist <code>cap</code> 3435973836. Scheint wohl undefiniert zu sein, obwohl in der Ini-Liste <code>cap</code> mit <code>len</code> initialisiert wird / werden soll.</p>
</blockquote>
<p>Das wäre wohl ein Fehler der Implementierung.<br />
Ist das der Originalcode, oder aus dem Gedächtnis? Weil z.B. die Reihenfolge von <code>len</code> und <code>cap</code> in der Definition (nicht in der Initiliasierungsliste) durchaus einen Unterschied macht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2292863</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2292863</guid><dc:creator><![CDATA[Furble Wurble]]></dc:creator><pubDate>Thu, 24 Jan 2013 07:42:33 GMT</pubDate></item><item><title><![CDATA[Reply to Initialisierungsliste on Thu, 24 Jan 2013 07:52:59 GMT]]></title><description><![CDATA[<p>(war alles Quatsch)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2292864</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2292864</guid><dc:creator><![CDATA[*Rewind*]]></dc:creator><pubDate>Thu, 24 Jan 2013 07:52:59 GMT</pubDate></item><item><title><![CDATA[Reply to Initialisierungsliste on Thu, 24 Jan 2013 07:46:34 GMT]]></title><description><![CDATA[<p>Ah danke <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="🙂"
    /> Ja, hatte im privaten Bereich erst <code>cap</code> und dann <code>len</code> deklariert. Reihenfolge vertauscht und es funktioniert <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="😃"
    /> witzig. Warum ist das so?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2292865</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2292865</guid><dc:creator><![CDATA[Object54323]]></dc:creator><pubDate>Thu, 24 Jan 2013 07:46:34 GMT</pubDate></item><item><title><![CDATA[Reply to Initialisierungsliste on Thu, 24 Jan 2013 07:54:02 GMT]]></title><description><![CDATA[<p>[War beantworteter Quatsch]</p>
<p>Object54323 schrieb:</p>
<blockquote>
<p>Ah danke <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="🙂"
    /> Ja, hatte im privaten Bereich erst <code>cap</code> und dann <code>len</code> deklariert. Reihenfolge vertauscht und es funktioniert <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="😃"
    /> witzig. Warum ist das so?</p>
</blockquote>
<p>Weil Member in der Reihenfolge der Deklaration, nicht in der Reihenfolge in der Initialisierungsliste initialisiert werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2292866</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2292866</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Thu, 24 Jan 2013 07:54:02 GMT</pubDate></item><item><title><![CDATA[Reply to Initialisierungsliste on Thu, 24 Jan 2013 08:03:56 GMT]]></title><description><![CDATA[<p>Der <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3337.pdf" rel="nofollow">Standard</a> komt sogar mit Begründung daher:</p>
<blockquote>
<p><strong>12.6.2 Initializing bases and members</strong><br />
10 In a non-delegating constructor, initialization proceeds in the following order:<br />
— First, and only for the constructor of the most derived class (1.8), virtual base classes are initialized in<br />
the order they appear on a depth-first left-to-right traversal of the directed acyclic graph of base classes,<br />
where “left-to-right” is the order of appearance of the base classes in the derived class base-specifier-list.<br />
— Then, direct base classes are initialized in declaration order as they appear in the base-specifier-list<br />
(regardless of the order of the mem-initializers).<br />
— Then, non-static data members are initialized in the order they were declared in the class definition<br />
(again regardless of the order of the mem-initializers).<br />
— Finally, the compound-statement of the constructor body is executed.<br />
[ Note: The declaration order is mandated to ensure that base and member subobjects are destroyed in<br />
the reverse order of initialization. —end note ]</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/2292867</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2292867</guid><dc:creator><![CDATA[Furble Wurble]]></dc:creator><pubDate>Thu, 24 Jan 2013 08:03:56 GMT</pubDate></item></channel></rss>