<?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[const]]></title><description><![CDATA[<p>Wer erklärt mir, wo hierbei die Unterschiede sind:</p>
<pre><code class="language-cpp">Object* Foo();
const Object* Foo();
Object* Foo() const;
const Object* Foo() const;
</code></pre>
<p>Ich blicks nicht :(? Danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/126295/const</link><generator>RSS for Node</generator><lastBuildDate>Mon, 24 Aug 2026 15:51:51 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/126295.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 14 Nov 2005 08:47:43 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to const on Mon, 14 Nov 2005 08:47:43 GMT]]></title><description><![CDATA[<p>Wer erklärt mir, wo hierbei die Unterschiede sind:</p>
<pre><code class="language-cpp">Object* Foo();
const Object* Foo();
Object* Foo() const;
const Object* Foo() const;
</code></pre>
<p>Ich blicks nicht :(? Danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/917043</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/917043</guid><dc:creator><![CDATA[wiegehts]]></dc:creator><pubDate>Mon, 14 Nov 2005 08:47:43 GMT</pubDate></item><item><title><![CDATA[Reply to const on Mon, 14 Nov 2005 08:53:14 GMT]]></title><description><![CDATA[<p>Ich gehe mal davon aus, daß das alles Methoden einer Klasse sind:</p>
<pre><code class="language-cpp">class Bar
{
public:
  Object* Foo1();
  const Object* Foo2();
  Object* Foo3() const;
  const Object* Foo4() const;
}
</code></pre>
<p>Foo1() liefert ein änderbares Objekt zurück und ist in der Lage, this zu verändern.<br />
Foo2() liefert ein konstantes Objekt zurück.<br />
Foo3() liefert ein änderbares Objekt zurück, darf aber this nicht ändern.<br />
Foo4() kombiniert 2 und 3 (sowohl this als auch das Ergebnis sind konstant).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/917049</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/917049</guid><dc:creator><![CDATA[CStoll (off)]]></dc:creator><pubDate>Mon, 14 Nov 2005 08:53:14 GMT</pubDate></item><item><title><![CDATA[Reply to const on Mon, 14 Nov 2005 09:08:18 GMT]]></title><description><![CDATA[<p>Const hinter einer Funktion bedeutet, dass die Funktion das Objekt zu dem sie gehört nicht verändert. Const vor dem Rückgabetyp Object bedeutet, dass das Objekt auf das der Zeiger verweist in der aufrufenden Funktion nicht verändert werden darf.<br />
Die beiden Sachen kann man kombinieren also ergibt sich daraus 2^2 Möglichkeiten. <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>P.S.: Man könnte auch noch den Zeiger const machen also sowas wie</p>
<pre><code class="language-cpp">const Object * const Foo () const;
</code></pre>
<p>(Rückgabewert konstanter Zeiger auf ein konstantes Objekt)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/917062</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/917062</guid><dc:creator><![CDATA[Mathias]]></dc:creator><pubDate>Mon, 14 Nov 2005 09:08:18 GMT</pubDate></item><item><title><![CDATA[Reply to const on Mon, 14 Nov 2005 10:07:07 GMT]]></title><description><![CDATA[<p>Stimmt meine Deutung dann so:</p>
<p>Foo1() liefert ein änderbares Objekt zurück und ist in der Lage, this zu verändern.</p>
<p>Man kann alles mit dem Objekt machen, löschen, werte verändern, methoden aufrufen usw.</p>
<p>Foo2() liefert ein konstantes Objekt zurück.<br />
Man darf nichts ändern?</p>
<p>Foo3() liefert ein änderbares Objekt zurück, darf aber this nicht ändern.<br />
Man darf das Objekt manipulieren, aber den Zeiger darauf nicht?</p>
<p>Foo4() kombiniert 2 und 3 (sowohl this als auch das Ergebnis sind konstant).<br />
Man darf gar nix?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/917111</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/917111</guid><dc:creator><![CDATA[wiegehts]]></dc:creator><pubDate>Mon, 14 Nov 2005 10:07:07 GMT</pubDate></item><item><title><![CDATA[Reply to const on Mon, 14 Nov 2005 10:13:08 GMT]]></title><description><![CDATA[<p>Das übergebene Objekt kannst du auf jeden Fall lesen. Im Fall 1 und 3 kannst du es zusätzlich auch ändern. das &quot;const&quot; hinter der Parameterliste legt fest, wie das Objekt gesehen wird, das die Methode aufruft (bei &quot;y=x.Foo();&quot; also x) - wenn das als const definiert ist, kannst du davon ausgehen, daß das Objekt so bleibt, wie es ist.</p>
<pre><code class="language-cpp">Bar x;Objekt* o;
o=x.Foo1();//könnte x verändern
o=x.Foo3();//x bleibt unverändert
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/917116</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/917116</guid><dc:creator><![CDATA[CStoll (off)]]></dc:creator><pubDate>Mon, 14 Nov 2005 10:13:08 GMT</pubDate></item><item><title><![CDATA[Reply to const on Mon, 14 Nov 2005 10:40:05 GMT]]></title><description><![CDATA[<p>Also ich hab nun alle geschnallt (durch versuche), aber ich finde keinen unterschied zwischen 1 und 3. Was meinst du mit &quot;der this zeiger ist bei 3 const&quot;?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/917136</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/917136</guid><dc:creator><![CDATA[wiegehts]]></dc:creator><pubDate>Mon, 14 Nov 2005 10:40:05 GMT</pubDate></item><item><title><![CDATA[Reply to const on Mon, 14 Nov 2005 10:51:26 GMT]]></title><description><![CDATA[<p>Wie schon gesagt das const hinter der Funktion bezieht sich auf das Objekt.</p>
<p>Beispiel:</p>
<pre><code class="language-cpp">..
MeinObjekt.test ();
..
</code></pre>
<p>Wenn test () so deklariert ist:</p>
<pre><code class="language-cpp">...
void test () const;
...
</code></pre>
<p>besagt das const, dass der aufruf von test () MeinObjekt nicht verändert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/917144</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/917144</guid><dc:creator><![CDATA[Mathias]]></dc:creator><pubDate>Mon, 14 Nov 2005 10:51:26 GMT</pubDate></item><item><title><![CDATA[Reply to const on Mon, 14 Nov 2005 11:06:31 GMT]]></title><description><![CDATA[<p>Mathias schrieb:</p>
<blockquote>
<p>Wie schon gesagt das const hinter der Funktion bezieht sich auf das Objekt.</p>
<p>Beispiel:</p>
<pre><code class="language-cpp">..
MeinObjekt.test ();
..
</code></pre>
<p>Wenn test () so deklariert ist:</p>
<pre><code class="language-cpp">...
void test () const;
...
</code></pre>
<p>besagt das const, dass der aufruf von test () MeinObjekt nicht verändert.</p>
</blockquote>
<p>dann geht z.B. das nicht</p>
<pre><code class="language-cpp">void Klasse::test() const
{
    this-&gt;irgendEinMember = irgendwas; // da der Breich auf den der this Zeiger zeigt verändert würde
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/917149</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/917149</guid><dc:creator><![CDATA[templäd]]></dc:creator><pubDate>Mon, 14 Nov 2005 11:06:31 GMT</pubDate></item><item><title><![CDATA[Reply to const on Mon, 14 Nov 2005 11:13:39 GMT]]></title><description><![CDATA[<p>Bingo</p>
<p>(Ausnahme jemand war &quot;böse&quot; und hat die betreffende Variable mutable gemacht. Dann geht das plötzlich wieder. Ist z.B. für abgeleitete Attribute sinnvoll, also für Puffer-Variablen.)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/917153</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/917153</guid><dc:creator><![CDATA[Mathias]]></dc:creator><pubDate>Mon, 14 Nov 2005 11:13:39 GMT</pubDate></item><item><title><![CDATA[Reply to const on Mon, 14 Nov 2005 12:34:08 GMT]]></title><description><![CDATA[<p>des is alles möglich ( nur bei const ) :p</p>
<pre><code class="language-cpp">struct Object{
      Object *       Foo1()      {}
const Object *       Foo2()      {}
      Object *       Foo3() const{}
const Object *       Foo4() const{}
      Object * const Foo5()      {}
const Object * const Foo6()      {}
      Object * const Foo7() const{}
const Object * const Foo8() const{}
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/917218</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/917218</guid><dc:creator><![CDATA[const Fädischiesst]]></dc:creator><pubDate>Mon, 14 Nov 2005 12:34:08 GMT</pubDate></item><item><title><![CDATA[Reply to const on Mon, 14 Nov 2005 12:36:26 GMT]]></title><description><![CDATA[<p>const Fädischiesst schrieb:</p>
<blockquote>
<p>des is alles möglich ( nur bei const ) :p</p>
<pre><code class="language-cpp">struct Object{
      Object *       Foo1()      {}
const Object *       Foo2()      {}
      Object *       Foo3() const{}
const Object *       Foo4() const{}
      Object * const Foo5()      {}
const Object * const Foo6()      {}
      Object * const Foo7() const{}
const Object * const Foo8() const{}
};
</code></pre>
</blockquote>
<p>net zu vergessen das man das const vone auch noch wo anders hinstelen kann <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>
<pre><code class="language-cpp">struct Object{
Object       *       Foo1()      {}
Object const *       Foo2()      {}
Object       *       Foo3() const{}
Object const *       Foo4() const{}
Object       * const Foo5()      {}
Object const * const Foo6()      {}
Object       * const Foo7() const{}
Object const * const Foo8() const{}
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/917222</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/917222</guid><dc:creator><![CDATA[const Fädischiesst]]></dc:creator><pubDate>Mon, 14 Nov 2005 12:36:26 GMT</pubDate></item><item><title><![CDATA[Reply to const on Mon, 14 Nov 2005 13:08:38 GMT]]></title><description><![CDATA[<p>einen konstanten pointer statt eines nicht-konstanten pointers zurückzugeben ist vollkommen sinnlos. beides sind rvalues und daher sowieso nicht veränderbar.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/917285</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/917285</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Mon, 14 Nov 2005 13:08:38 GMT</pubDate></item><item><title><![CDATA[Reply to const on Mon, 14 Nov 2005 13:56:52 GMT]]></title><description><![CDATA[<p>Ging auch nicht darum was man damit sinnvolles anstellen kann, sondern darum zu zeigen welche Varianten mit const es gibt.<br />
(Spielt doch keine Rolle ob man das erst bei den Übergabeparametern anspricht oder bei den Rückgabeparametern, hauptsache man hat verstanden wie es funktioniert.)<br />
<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/917370</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/917370</guid><dc:creator><![CDATA[Mathias]]></dc:creator><pubDate>Mon, 14 Nov 2005 13:56:52 GMT</pubDate></item><item><title><![CDATA[Reply to const on Mon, 14 Nov 2005 13:55:55 GMT]]></title><description><![CDATA[<p>const Fädischiesst schrieb:</p>
<blockquote>
<p>des is alles möglich ( nur bei const ) :p</p>
<pre><code class="language-cpp">struct Object{
      Object *       Foo1()      {}
const Object *       Foo2()      {}
      Object *       Foo3() const{}
const Object *       Foo4() const{}
      Object * const Foo5()      {}
const Object * const Foo6()      {}
      Object * const Foo7() const{}
const Object * const Foo8() const{}
};
</code></pre>
</blockquote>
<p>So und jetzt bitte noch volatile. <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/917376</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/917376</guid><dc:creator><![CDATA[groovemaster]]></dc:creator><pubDate>Mon, 14 Nov 2005 13:55:55 GMT</pubDate></item><item><title><![CDATA[Reply to const on Mon, 14 Nov 2005 14:24:38 GMT]]></title><description><![CDATA[<p>Auja, mach uns klüger groovemaster. :p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/917427</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/917427</guid><dc:creator><![CDATA[Mathias]]></dc:creator><pubDate>Mon, 14 Nov 2005 14:24:38 GMT</pubDate></item></channel></rss>