<?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[Variablen initialisieren]]></title><description><![CDATA[<p>Worin liegt der Unterschied zwischen:</p>
<pre><code class="language-cpp">SomeType t = u;
</code></pre>
<p>und</p>
<pre><code class="language-cpp">SomeType t;
t = u;
</code></pre>
<p>Außer, dass das zweite mehr Schreibarbeit ist. Wird bei Beiden zunächst der Default Konstruktor aufgerufen?</p>
<p>Gruß<br />
Fritz</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/260352/variablen-initialisieren</link><generator>RSS for Node</generator><lastBuildDate>Tue, 08 Sep 2026 04:29:15 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/260352.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 04 Feb 2010 06:52:06 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Variablen initialisieren on Thu, 04 Feb 2010 06:52:06 GMT]]></title><description><![CDATA[<p>Worin liegt der Unterschied zwischen:</p>
<pre><code class="language-cpp">SomeType t = u;
</code></pre>
<p>und</p>
<pre><code class="language-cpp">SomeType t;
t = u;
</code></pre>
<p>Außer, dass das zweite mehr Schreibarbeit ist. Wird bei Beiden zunächst der Default Konstruktor aufgerufen?</p>
<p>Gruß<br />
Fritz</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1850215</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1850215</guid><dc:creator><![CDATA[FritzR]]></dc:creator><pubDate>Thu, 04 Feb 2010 06:52:06 GMT</pubDate></item><item><title><![CDATA[Reply to Variablen initialisieren on Thu, 04 Feb 2010 07:05:22 GMT]]></title><description><![CDATA[<p>Das erste nennt sich Copy Initialization und ruft direkt den Kopierkonstruktor auf. Das zweite ruft erst den Default-Konstruktor auf und dann den Assignment-Operator.</p>
<p>Für das erste muss lediglich Kopiersemantik zur Verfügung stehen (Default-Ctor und Assignment-Op), auch wenn diese nicht benutzt wird, sonst gibt es einen Compile-Error. Allerdings setzen das die wenigsten Compiler tatsächlich um.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1850216</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1850216</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Thu, 04 Feb 2010 07:05:22 GMT</pubDate></item><item><title><![CDATA[Reply to Variablen initialisieren on Thu, 04 Feb 2010 08:04:10 GMT]]></title><description><![CDATA[<p>LordJaxom schrieb:</p>
<blockquote>
<p>Das erste nennt sich Copy Initialization und ruft direkt den Kopierkonstruktor auf. Das zweite ruft erst den Default-Konstruktor auf und dann den Assignment-Operator.</p>
</blockquote>
<p>Guter Anfang!</p>
<p>LordJaxom schrieb:</p>
<blockquote>
<p>Für das erste muss lediglich Kopiersemantik zur Verfügung stehen (Default-Ctor und Assignment-Op), auch wenn diese nicht benutzt wird, sonst gibt es einen Compile-Error. Allerdings setzen das die wenigsten Compiler tatsächlich um.</p>
</blockquote>
<p>Bitte was? Für copy-initialization braucht man keinen default-ctor und auch keinen assignment-op.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1850227</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1850227</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Thu, 04 Feb 2010 08:04:10 GMT</pubDate></item><item><title><![CDATA[Reply to Variablen initialisieren on Thu, 04 Feb 2010 08:35:20 GMT]]></title><description><![CDATA[<p>krümelkacker schrieb:</p>
<blockquote>
<p>LordJaxom schrieb:</p>
<blockquote>
<p>Für das erste muss lediglich Kopiersemantik zur Verfügung stehen (Default-Ctor und Assignment-Op), auch wenn diese nicht benutzt wird, sonst gibt es einen Compile-Error. Allerdings setzen das die wenigsten Compiler tatsächlich um.</p>
</blockquote>
<p>Bitte was? Für copy-initialization braucht man keinen default-ctor und auch keinen assignment-op.</p>
</blockquote>
<p>Stimmt, hier habe ich etwas durcheinandergebracht.</p>
<p>Wenn u vom Typ SomeType ist, hast Du vollkommen recht.</p>
<p>Wenn aber u von einem anderen Typ ist, und ein Konstruktor SomeType(decltype(u)) zur Verfügung steht, muss in SomeType ein <strong>Copy-Constructor</strong> zur Verfügung stehen, auch wenn der nicht aufgerufen wird.</p>
<p>Einen weiteren Unterschied gibt es noch: Copy-Initialization funktioniert nicht, wenn der Konstruktor explicit ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1850245</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1850245</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Thu, 04 Feb 2010 08:35:20 GMT</pubDate></item></channel></rss>