<?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[Konstruktur mir this pointer]]></title><description><![CDATA[<p>Hallo,<br />
ich bin gerade beim Lesen darauf gestoßen:</p>
<pre><code class="language-cpp">Buch(const char* titel=&quot;&quot;, const char* autor=&quot;&quot;, unsigned int seiten=0) {
    ...
    strncpy( this-&gt;titel, titel, 50 );
    ...
}
</code></pre>
<p>Das</p>
<pre><code class="language-cpp">this-&gt;titel
</code></pre>
<p>wird ja hier anscheinend verwendet, weil die Konstruktor Parameter die gleichen Namen haben, wie die Elemente. Hat diese Variante sonst noch irgendwelche Vorteile?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/258199/konstruktur-mir-this-pointer</link><generator>RSS for Node</generator><lastBuildDate>Wed, 09 Sep 2026 12:06:36 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/258199.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 07 Jan 2010 16:29:00 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Konstruktur mir this pointer on Thu, 07 Jan 2010 16:29:00 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich bin gerade beim Lesen darauf gestoßen:</p>
<pre><code class="language-cpp">Buch(const char* titel=&quot;&quot;, const char* autor=&quot;&quot;, unsigned int seiten=0) {
    ...
    strncpy( this-&gt;titel, titel, 50 );
    ...
}
</code></pre>
<p>Das</p>
<pre><code class="language-cpp">this-&gt;titel
</code></pre>
<p>wird ja hier anscheinend verwendet, weil die Konstruktor Parameter die gleichen Namen haben, wie die Elemente. Hat diese Variante sonst noch irgendwelche Vorteile?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1834509</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1834509</guid><dc:creator><![CDATA[Felix.]]></dc:creator><pubDate>Thu, 07 Jan 2010 16:29:00 GMT</pubDate></item><item><title><![CDATA[Reply to Konstruktur mir this pointer on Thu, 07 Jan 2010 16:30:27 GMT]]></title><description><![CDATA[<p>Nö.<br />
Mit this greifst du explizit auf das aktuelle Objekt zu.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1834513</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1834513</guid><dc:creator><![CDATA[Icematix]]></dc:creator><pubDate>Thu, 07 Jan 2010 16:30:27 GMT</pubDate></item><item><title><![CDATA[Reply to Konstruktur mir this pointer on Thu, 07 Jan 2010 16:34:35 GMT]]></title><description><![CDATA[<p>Ok also wars wirklich nur wegen der Namensüberdeckung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1834518</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1834518</guid><dc:creator><![CDATA[Felix.]]></dc:creator><pubDate>Thu, 07 Jan 2010 16:34:35 GMT</pubDate></item><item><title><![CDATA[Reply to Konstruktur mir this pointer on Thu, 07 Jan 2010 17:07:06 GMT]]></title><description><![CDATA[<p>Gibt es einen bestimmten Grund, wieso du mit char* rumfrickelst? Spricht irgendetwas gegen <code>std::string</code> ?</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1834546</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1834546</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Thu, 07 Jan 2010 17:07:06 GMT</pubDate></item><item><title><![CDATA[Reply to Konstruktur mir this pointer on Thu, 07 Jan 2010 18:26:24 GMT]]></title><description><![CDATA[<p>Abgesehen davon, dass ich lieber std::string nehmen würde...</p>
<p>Es gibt noch einen Fall, in dem this-&gt; sehr praktisch ist. Der tritt aber höchst selten auf -- jedenfalls bei mir:</p>
<pre><code class="language-cpp">class foo {
public:
  int z;
};

template&lt;typename Base&gt;
class bar : public Base {
public:
  int get() const {
    return this-&gt;z; // Hier ist this-&gt; notwendig,
    // da sonst der Compiler beim ersten Durchgang
    // nichts mit z anfangen kann und meckert.
    // Durch das this-&gt; wird das Nachgucken von z
    // verzögert, bis das Template instanziert wird.
  }
};
</code></pre>
<p>Ich weiß das auch nur, weil ich den Fall schon mal hatte und mein Compiler (g++) da recht pingelig war und ordnungsgemäß das Zwei-Phasen-Lookup durchgeführte.</p>
<p>Gruß,<br />
SP</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1834604</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1834604</guid><dc:creator><![CDATA[Sebastian Pizer]]></dc:creator><pubDate>Thu, 07 Jan 2010 18:26:24 GMT</pubDate></item><item><title><![CDATA[Reply to Konstruktur mir this pointer on Thu, 07 Jan 2010 18:30:45 GMT]]></title><description><![CDATA[<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /><br />
Super Beispiel.<br />
Gestern war so eine Ähnliche Frage und ich wusste, dass es Fälle (abgesehen von Namenkonflikten) wo this wirklich Sinn macht, aber mir ist nichts eingefallen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /><br />
(Ich habe afaik auch mal was anderes gesehen, aber ich kann überhaupt nicht mehr sagen wo das war).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1834609</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1834609</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Thu, 07 Jan 2010 18:30:45 GMT</pubDate></item><item><title><![CDATA[Reply to Konstruktur mir this pointer on Thu, 07 Jan 2010 22:45:23 GMT]]></title><description><![CDATA[<p>Sebastian Pizer schrieb:</p>
<blockquote>
<p>Es gibt noch einen Fall, in dem this-&gt; sehr praktisch ist.</p>
</blockquote>
<p>Hier wäre <code>Base::z</code> absolut äquivalent, oder?</p>
<p>drakon schrieb:</p>
<blockquote>
<p>Gestern war so eine Ähnliche Frage und ich wusste, dass es Fälle (abgesehen von Namenkonflikten) wo this wirklich Sinn macht, aber mir ist nichts eingefallen. ;).</p>
</blockquote>
<p>Das Schlüsselwort <code>this</code> an sich macht natürlich Sinn, wenn Zeiger oder Referenzen auf das eigene Objekt benötigt werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1834750</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1834750</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Thu, 07 Jan 2010 22:45:23 GMT</pubDate></item><item><title><![CDATA[Reply to Konstruktur mir this pointer on Thu, 07 Jan 2010 23:11:26 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>drakon schrieb:</p>
<blockquote>
<p>Gestern war so eine Ähnliche Frage und ich wusste, dass es Fälle (abgesehen von Namenkonflikten) wo this wirklich Sinn macht, aber mir ist nichts eingefallen. ;).</p>
</blockquote>
<p>Das Schlüsselwort <code>this</code> an sich macht natürlich Sinn, wenn Zeiger oder Referenzen auf das eigene Objekt benötigt werden.</p>
</blockquote>
<p>Jaja, aber ich dachte ich hätte mal was sehr spezielles gesehen.. :S<br />
Eher so etwas, wie Sebastians Beispiel.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1834755</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1834755</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Thu, 07 Jan 2010 23:11:26 GMT</pubDate></item><item><title><![CDATA[Reply to Konstruktur mir this pointer on Fri, 08 Jan 2010 09:47:52 GMT]]></title><description><![CDATA[<p>Mit ((&amp;this)+1) kann man auf den ersten Parameter zugreifen... Aber unschön. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>EDIT: oder auch nicht... irgendwas war da... *nachguck*<br />
EDIT2: Ah, anders herum. Über den ersten Parameter kann man auf this zurückgreifen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1834867</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1834867</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Fri, 08 Jan 2010 09:47:52 GMT</pubDate></item><item><title><![CDATA[Reply to Konstruktur mir this pointer on Fri, 08 Jan 2010 10:17:27 GMT]]></title><description><![CDATA[<blockquote>
<p>Ah, anders herum. Über den ersten Parameter kann man auf this zurückgreifen.</p>
</blockquote>
<p>Compilerabhängig afaik</p>
<p>VC++ gibt den Objektzeiger immer als erstes Argument mit, GCC kopiert ihn jediglich nach ECX.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1834875</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1834875</guid><dc:creator><![CDATA[Icematix]]></dc:creator><pubDate>Fri, 08 Jan 2010 10:17:27 GMT</pubDate></item></channel></rss>