<?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[Was ist denn das?]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe eine Frage über folgende Codezeile:</p>
<pre><code>const int&amp; Number() const {return number}
</code></pre>
<p>wobei number eine private int ist.</p>
<p>Kann mir das einer erklären?</p>
<p>Und, wie nennt diese Wertvorbelegung?</p>
<pre><code>class test
{
    public:
          // das hier!!!
         test(int i) :wert(i){}

    private:
        int wert;
};
</code></pre>
<p>Vielen Dank<br />
-Patrick</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/173706/was-ist-denn-das</link><generator>RSS for Node</generator><lastBuildDate>Fri, 18 Sep 2026 09:32:21 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/173706.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 19 Feb 2007 07:46:40 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Was ist denn das? on Mon, 19 Feb 2007 07:46:40 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe eine Frage über folgende Codezeile:</p>
<pre><code>const int&amp; Number() const {return number}
</code></pre>
<p>wobei number eine private int ist.</p>
<p>Kann mir das einer erklären?</p>
<p>Und, wie nennt diese Wertvorbelegung?</p>
<pre><code>class test
{
    public:
          // das hier!!!
         test(int i) :wert(i){}

    private:
        int wert;
};
</code></pre>
<p>Vielen Dank<br />
-Patrick</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1230894</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1230894</guid><dc:creator><![CDATA[PatrickR]]></dc:creator><pubDate>Mon, 19 Feb 2007 07:46:40 GMT</pubDate></item><item><title><![CDATA[Reply to Was ist denn das? on Mon, 19 Feb 2007 07:53:49 GMT]]></title><description><![CDATA[<p>Das erste ist eine Funktion namens Number die keinen Parameter uebernimmt und eine Referenz auf die Variabel number zurueckgibt. Du koenntest dadurch also sowohl auf den Wert der Variablen number zugreifen als ihn auch aendern (foo.Number()=7; setzt den wert von number auf 7). Allerdings wird das Aendern durch das 1. const verhindert, daher kannst du den Wert nur auslesen. Das 2. const sagt dem Compiler nur, dass in dieser Funktion keine Member der Klasse geaendert werden.</p>
<p>Das 2. nennt sich initilaisierliste.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1230897</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1230897</guid><dc:creator><![CDATA[Shinja]]></dc:creator><pubDate>Mon, 19 Feb 2007 07:53:49 GMT</pubDate></item><item><title><![CDATA[Reply to Was ist denn das? on Mon, 19 Feb 2007 08:06:12 GMT]]></title><description><![CDATA[<p>Vielen Dank für die schnelle Antwort.</p>
<p>aber was macht das 2. const?</p>
<p>???<br />
aber was meinst du mit<br />
foo.Number()=7;</p>
<p>wie kann ich den diese Wertzuweisung verstehen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1230902</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1230902</guid><dc:creator><![CDATA[PatrickR]]></dc:creator><pubDate>Mon, 19 Feb 2007 08:06:12 GMT</pubDate></item><item><title><![CDATA[Reply to Was ist denn das? on Mon, 19 Feb 2007 08:16:57 GMT]]></title><description><![CDATA[<p>PatrickR schrieb:</p>
<blockquote>
<p>Vielen Dank für die schnelle Antwort.</p>
<p>aber was macht das 2. const?</p>
</blockquote>
<p>Das kennzeichnet die Methode als &quot;konstant&quot; (das bedeutet, daß diese Methode keine Membervariablen des this-Objektes ändern darf<sup>*</sup>).</p>
<blockquote>
<p>aber was meinst du mit<br />
foo.Number()=7;</p>
<p>wie kann ich den diese Wertzuweisung verstehen?</p>
</blockquote>
<p>Die Methode liefert eine Referenz zurück, also könntest du über diesen Rückgabewert die Membervariable deines Objekts ändern, z.B. durch so eine Zuweisung. (das erste 'const' in deinem Code sorgt dafür, daß das hier nicht möglich ist)</p>
<p>Der Vorteil dieser 'const T&amp;' Rückgabe ist die Zeit-Ersparnis - anstatt ein (möglicherweise großes) Objekt zu kopieren, gebe ich eine Referenz auf mein Objekt zurück. Bei int's macht das noch keinen Unterschied, aber z.B. bei Klassenobjekten.</p>
<p><sup>*</sup> Genauer: die Methode darf nur Member ändern, die als 'mutable' deklariert sind.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1230908</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1230908</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 19 Feb 2007 08:16:57 GMT</pubDate></item><item><title><![CDATA[Reply to Was ist denn das? on Mon, 19 Feb 2007 08:26:16 GMT]]></title><description><![CDATA[<p>wunderbar,</p>
<p>vielen Dank an euch beide.</p>
<p>Gruß<br />
-Patrick</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1230914</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1230914</guid><dc:creator><![CDATA[PatrickR]]></dc:creator><pubDate>Mon, 19 Feb 2007 08:26:16 GMT</pubDate></item></channel></rss>