<?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[move konstruktor]]></title><description><![CDATA[<p>Hi,</p>
<p>ich habe eine Frage zum Move Konstruktor. Innerhalb der Klasse rufe ich in der Initialisierungsliste auf dem Objekt Foo(Foo&amp;&amp; other) : myint(std::move(other.myint) usw. auf.</p>
<p>Innerhalb von {} kann man aber noch Zuweisungen vornehmen. Wozu sollen die gut sein, wenn ich das Objekt ohnehin verschiebe? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/318178/move-konstruktor</link><generator>RSS for Node</generator><lastBuildDate>Mon, 27 Jul 2026 11:52:36 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/318178.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 03 Jul 2013 16:05:52 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to move konstruktor on Wed, 03 Jul 2013 16:05:52 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich habe eine Frage zum Move Konstruktor. Innerhalb der Klasse rufe ich in der Initialisierungsliste auf dem Objekt Foo(Foo&amp;&amp; other) : myint(std::move(other.myint) usw. auf.</p>
<p>Innerhalb von {} kann man aber noch Zuweisungen vornehmen. Wozu sollen die gut sein, wenn ich das Objekt ohnehin verschiebe? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2336337</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2336337</guid><dc:creator><![CDATA[Stefan354]]></dc:creator><pubDate>Wed, 03 Jul 2013 16:05:52 GMT</pubDate></item><item><title><![CDATA[Reply to move konstruktor on Wed, 03 Jul 2013 16:12:34 GMT]]></title><description><![CDATA[<p>Schreib mal einen Move-Konstruktor für eine Klasse die als Member ein C-Handle hält. (z.B. FILE*)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2336338</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2336338</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Wed, 03 Jul 2013 16:12:34 GMT</pubDate></item><item><title><![CDATA[Reply to move konstruktor on Wed, 03 Jul 2013 16:12:57 GMT]]></title><description><![CDATA[<p>Warum sollte es nicht gut sein, nachtraeglich Funktionen im Konstruktor aufzurufen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2336339</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2336339</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Wed, 03 Jul 2013 16:12:57 GMT</pubDate></item><item><title><![CDATA[Reply to move konstruktor on Wed, 03 Jul 2013 16:14:42 GMT]]></title><description><![CDATA[<p>Du kannst irgendwas im Move-Konstruktor tun, C++ schränkt dich dabei nicht ein.</p>
<p>Meistens genügt die Initialisierungsliste, aber nicht immer. Wenn du z.B. Member hast, die selbst nicht movable sind, aber z.B. eine <code>swap()</code> -Methode anbieten, kannst du diese aufrufen. Und teilweise musst du die Member des Quell-Objektes explizit in einen Nullzustand zurückversetzen, damit der Destruktor nicht aufräumt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2336340</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2336340</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Wed, 03 Jul 2013 16:14:42 GMT</pubDate></item><item><title><![CDATA[Reply to move konstruktor on Wed, 03 Jul 2013 16:17:17 GMT]]></title><description><![CDATA[<p>Ja, das man im Konstruktor noch andere Aufrufe tätigen kann und es nicht verschiebbare Elemente geben kann, ist schon klar.</p>
<p>Aber ich sehe desöfteren das innerhalb von {} noch other.myint = 0; usw, steht. Das bedeutet die Daten von other werden explizit gesetzt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2336341</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2336341</guid><dc:creator><![CDATA[Stefan354]]></dc:creator><pubDate>Wed, 03 Jul 2013 16:17:17 GMT</pubDate></item><item><title><![CDATA[Reply to move konstruktor on Wed, 03 Jul 2013 16:24:01 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Und teilweise musst du die Member des Quell-Objektes explizit in einen Nullzustand zurückversetzen, damit der Destruktor nicht aufräumt.</p>
</blockquote>
<p>Zum Beispiel bei der Implementierung von <code>unique_ptr</code> muss der Originalzeiger auf null gesetzt werden, weil sonst zwei Destruktoren den Speicher freigeben.</p>
<p>Für simple <code>int</code> s ohne davon abhängige Logik/Invarianten ist das Ganze natürlich sinnlos. Aber es gibt auch Leute, die im Destruktor Variablen auf Null setzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2336345</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2336345</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Wed, 03 Jul 2013 16:24:01 GMT</pubDate></item><item><title><![CDATA[Reply to move konstruktor on Wed, 03 Jul 2013 16:29:14 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Nexus schrieb:</p>
<blockquote>
<p>Und teilweise musst du die Member des Quell-Objektes explizit in einen Nullzustand zurückversetzen, damit der Destruktor nicht aufräumt.</p>
</blockquote>
<p>Zum Beispiel bei der Implementierung von <code>unique_ptr</code> muss der Originalzeiger auf null gesetzt werden, weil sonst zwei Destruktoren den Speicher freigeben.</p>
<p>Für simple <code>int</code> s ohne davon abhängige Logik/Invarianten ist das Ganze natürlich sinnlos. Aber es gibt auch Leute, die im Destruktor Variablen auf Null setzen.</p>
</blockquote>
<p>Ok, hab ich verstanden. Danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2336350</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2336350</guid><dc:creator><![CDATA[S]]></dc:creator><pubDate>Wed, 03 Jul 2013 16:29:14 GMT</pubDate></item></channel></rss>