<?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[Verständnis Frage const]]></title><description><![CDATA[<p>Hallo, könnte mir einer den Unterschied zwischen</p>
<p>const im Parameter und cons nach Methodenname erklären.</p>
<p>Also bsp.</p>
<pre><code>testFunc(const A &amp;a)
</code></pre>
<p>vs</p>
<pre><code>testFunc(A &amp;a) const
</code></pre>
<p>vs</p>
<pre><code>testFunc(const A &amp;a) const
</code></pre>
<p>.</p>
<p>Vielen Dank</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/322486/verständnis-frage-const</link><generator>RSS for Node</generator><lastBuildDate>Fri, 17 Jul 2026 21:37:37 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/322486.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 23 Dec 2013 11:02:52 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Verständnis Frage const on Mon, 23 Dec 2013 11:02:52 GMT]]></title><description><![CDATA[<p>Hallo, könnte mir einer den Unterschied zwischen</p>
<p>const im Parameter und cons nach Methodenname erklären.</p>
<p>Also bsp.</p>
<pre><code>testFunc(const A &amp;a)
</code></pre>
<p>vs</p>
<pre><code>testFunc(A &amp;a) const
</code></pre>
<p>vs</p>
<pre><code>testFunc(const A &amp;a) const
</code></pre>
<p>.</p>
<p>Vielen Dank</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2373350</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2373350</guid><dc:creator><![CDATA[DKlay13]]></dc:creator><pubDate>Mon, 23 Dec 2013 11:02:52 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnis Frage const on Mon, 23 Dec 2013 11:08:20 GMT]]></title><description><![CDATA[<pre><code>testFunc(const A &amp;a)
</code></pre>
<p>Du kannst die Variable, auf die a verweist, nicht ändern.</p>
<pre><code>testFunc(const A a)
</code></pre>
<p>Du kannst die Variable a nicht ändern.</p>
<pre><code>testFunc(...) const
</code></pre>
<p>Innerhalb der Funktion kannst du keine Member deines Objekts ändern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2373352</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2373352</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Mon, 23 Dec 2013 11:08:20 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnis Frage const on Mon, 23 Dec 2013 11:11:03 GMT]]></title><description><![CDATA[<p>out schrieb:</p>
<blockquote>
<pre><code>testFunc(...) const
</code></pre>
<p>Innerhalb der Funktion kannst du keine Member deines Objekts ändern.</p>
</blockquote>
<p>Genauer gesagt, die hier genannte &quot;Funktion&quot; kann nur eine Memberfunktion (-&gt; Methode) sein, wobei du auf this nur lesend zugreifen kannst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2373354</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2373354</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Mon, 23 Dec 2013 11:11:03 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnis Frage const on Mon, 23 Dec 2013 11:11:18 GMT]]></title><description><![CDATA[<p>Dann ist ja eine Definition wie</p>
<pre><code>testFunc(const A &amp;a) const
</code></pre>
<p>unnötig oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2373355</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2373355</guid><dc:creator><![CDATA[DKlay13]]></dc:creator><pubDate>Mon, 23 Dec 2013 11:11:18 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnis Frage const on Mon, 23 Dec 2013 11:12:22 GMT]]></title><description><![CDATA[<p>DKlay13 schrieb:</p>
<blockquote>
<p>Dann ist ja eine Definition wie</p>
<pre><code>testFunc(const A &amp;a) const
</code></pre>
<p>unnötig oder?</p>
</blockquote>
<p>Ne wieso? Erklät mal wieso das unnötig sein soll?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2373356</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2373356</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Mon, 23 Dec 2013 11:12:22 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnis Frage const on Mon, 23 Dec 2013 11:15:41 GMT]]></title><description><![CDATA[<p>Per Definition kann ich auf das Objekt ja nur lesend zugreifen. Wenn ich das so definiere</p>
<pre><code>testFunc(const A &amp;a)
</code></pre>
<p>also &quot;könnte&quot; man ja nur per const_cast evtl noch am Objekt was ändern...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2373357</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2373357</guid><dc:creator><![CDATA[DKlay]]></dc:creator><pubDate>Mon, 23 Dec 2013 11:15:41 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnis Frage const on Mon, 23 Dec 2013 11:19:25 GMT]]></title><description><![CDATA[<p>DKlay schrieb:</p>
<blockquote>
<p>Per Definition kann ich auf das Objekt ja nur lesend zugreifen. Wenn ich das so definiere</p>
<pre><code>testFunc(const A &amp;a)
</code></pre>
<p>Richtig, du kannst nur auf das Objekt, auf das a verweist, lesend zugreifen.</p>
</blockquote>
<pre><code>testFunc() const
</code></pre>
<p>Das const hinterm Funktionsnamen bezieht sich aber auf das Objekt <strong>this</strong>.</p>
<p>DKlay schrieb:</p>
<blockquote>
<p>also &quot;könnte&quot; man ja nur per const_cast evtl noch am Objekt was ändern...</p>
</blockquote>
<p>Nur wenn das Objekt auf oberste Ebene nicht const ist. Ansonsten formatiert es deinen PC.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2373358</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2373358</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Mon, 23 Dec 2013 11:19:25 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnis Frage const on Mon, 23 Dec 2013 11:24:03 GMT]]></title><description><![CDATA[<blockquote>
<p>Ansonsten formatiert es deinen PC.</p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> , das probiere ich mal demnächst.</p>
<p>Und Danke für die Antworten, muss mal damit rumspielen!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2373359</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2373359</guid><dc:creator><![CDATA[DKlay13]]></dc:creator><pubDate>Mon, 23 Dec 2013 11:24:03 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnis Frage const on Mon, 23 Dec 2013 11:24:13 GMT]]></title><description><![CDATA[<p>Wie gesagt, es gibt mehrere Objekte - je nach dem.</p>
<pre><code>void foo(Bar const&amp; b)
{
    b.modifySomething(); // geht nicht
    b.readSomething(); // geht
}
</code></pre>
<p>In der Funktion gibt es nur das Objekt b, was man ändern könnte (oder auch nicht!).</p>
<pre><code>void Foo::baz() const
{
    this-&gt;counter = 5; // geht nicht
    cout &lt;&lt; this-&gt;counter &lt;&lt; endl; // geht
}
</code></pre>
<p>In dieser Methode gibt es auch nur ein Objekt und zwar this. Das kannst du nicht ändern, da die Methode const ist.</p>
<pre><code>void Foo::baz(Bar const&amp; b) const
{
    this-&gt;counter = 5; // geht nicht
    b.setCounter(35); // geht nicht
    cout &lt;&lt; this-&gt;counter &lt;&lt; &quot; - &quot; &lt;&lt; b.getCounter() &lt;&lt; endl; // geht
}
</code></pre>
<p>Hier existieren 2 Objekte, this und b. Beide können nicht geändert werden, sondern sind readonly.</p>
<p>Beachte: Auf const Objekten können auch nur const-Methoden aufgerufen werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2373360</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2373360</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Mon, 23 Dec 2013 11:24:13 GMT</pubDate></item></channel></rss>