<?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[elementinitialisierer - irgendwelche vorteile?]]></title><description><![CDATA[<p>hi, oft sieht man sowas:</p>
<pre><code>ProtocolBase::ProtocolBase()
: m_logvector_enabled(true)
{
}
</code></pre>
<p>das kann man doch auch so schreiben</p>
<pre><code>ProtocolBase::ProtocolBase()
{
   m_logvector_enabled = true;
}
</code></pre>
<p>hat ersteres irgendeinen vorteil?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/152552/elementinitialisierer-irgendwelche-vorteile</link><generator>RSS for Node</generator><lastBuildDate>Mon, 07 Sep 2026 00:40:40 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/152552.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 07 Jul 2006 09:13:28 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to elementinitialisierer - irgendwelche vorteile? on Fri, 07 Jul 2006 09:13:28 GMT]]></title><description><![CDATA[<p>hi, oft sieht man sowas:</p>
<pre><code>ProtocolBase::ProtocolBase()
: m_logvector_enabled(true)
{
}
</code></pre>
<p>das kann man doch auch so schreiben</p>
<pre><code>ProtocolBase::ProtocolBase()
{
   m_logvector_enabled = true;
}
</code></pre>
<p>hat ersteres irgendeinen vorteil?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1093042</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1093042</guid><dc:creator><![CDATA[net 0]]></dc:creator><pubDate>Fri, 07 Jul 2006 09:13:28 GMT</pubDate></item><item><title><![CDATA[Reply to elementinitialisierer - irgendwelche vorteile? on Fri, 07 Jul 2006 09:22:06 GMT]]></title><description><![CDATA[<p>net schrieb:</p>
<blockquote>
<p>hi, oft sieht man sowas:</p>
<pre><code>ProtocolBase::ProtocolBase()
: m_logvector_enabled(true)
{
}
</code></pre>
<p>das kann man doch auch so schreiben</p>
<pre><code>ProtocolBase::ProtocolBase()
{
   m_logvector_enabled = true;
}
</code></pre>
<p>hat ersteres irgendeinen vorteil?</p>
</blockquote>
<p>Das erste ist Initialisierung, das zweite Zuweisung (nach einer potentiellen Default-Initialisierung). D.h. die erste Variante ist zum einen effizienter und zum anderen die einzige Möglichkeit um Referenz- und const-Member mit Werten zu belegen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1093050</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1093050</guid><dc:creator><![CDATA[HumeSikkins]]></dc:creator><pubDate>Fri, 07 Jul 2006 09:22:06 GMT</pubDate></item><item><title><![CDATA[Reply to elementinitialisierer - irgendwelche vorteile? on Fri, 07 Jul 2006 09:22:54 GMT]]></title><description><![CDATA[<p>Erstens ersparst du dir damit die Default-Initialisierung des Elements (OK, bei einem bool ist das nicht sehr viel) und zweitens können const-Elemente und Referenzen NUR über die Initialisierungsliste vorbelegt werden.</p>
<p>(aus dem zweiten Punkt ergibt sich auch ein einheitlicherer Stil, wenn man das auf alle Member ausdehnt)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1093051</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1093051</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 07 Jul 2006 09:22:54 GMT</pubDate></item><item><title><![CDATA[Reply to elementinitialisierer - irgendwelche vorteile? on Fri, 07 Jul 2006 09:26:15 GMT]]></title><description><![CDATA[<p>net schrieb:</p>
<blockquote>
<p>hat ersteres irgendeinen vorteil?</p>
</blockquote>
<pre><code class="language-cpp">#include &lt;iostream&gt;

class A
{
public:
	A()
	{
		std::cout &lt;&lt; &quot;c-tor()\n&quot;;
	}

	explicit A(bool b)
	{
		std::cout &lt;&lt; &quot;c-tor(bool b)\n&quot;;
	}

	A&amp; operator =(bool b)
	{
		std::cout &lt;&lt; &quot;o-tor(bool b)\n&quot;;
		return *this;
	}

};

class B
{
public:
	B()
		: a(true)
	{
	}
private:
	A a;
};

class B2
{
public:
	B2()
	{
		a = true;
	}
private:
	A a;
};

int main()
{
	std::cout &lt;&lt; &quot;-------------B-------------------\n&quot;;
	B b;
	std::cout &lt;&lt; &quot;---------------------------------\n&quot;;

	std::cout &lt;&lt; &quot;-------------B2-------------------\n&quot;;
	B2 b2;
	std::cout &lt;&lt; &quot;---------------------------------\n&quot;;
}
</code></pre>
<p>//output</p>
<pre><code>-------------B-------------------
c-tor(bool b)
---------------------------------
-------------B2-------------------
c-tor()
o-tor(bool b)
---------------------------------
</code></pre>
<p>das erste sollte wesentlich schneller als das zweite sen, falls Klasse &quot;A&quot; einen komlizierten c-tor hätte</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1093057</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1093057</guid><dc:creator><![CDATA[ssm]]></dc:creator><pubDate>Fri, 07 Jul 2006 09:26:15 GMT</pubDate></item><item><title><![CDATA[Reply to elementinitialisierer - irgendwelche vorteile? on Fri, 07 Jul 2006 09:30:21 GMT]]></title><description><![CDATA[<p>danke für die vielen hilfreichen antworten <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="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1093062</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1093062</guid><dc:creator><![CDATA[net 0]]></dc:creator><pubDate>Fri, 07 Jul 2006 09:30:21 GMT</pubDate></item></channel></rss>