<?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[get Methode]]></title><description><![CDATA[<p>wieso schreibt man &quot;XXX getxxx() const&quot;<br />
normalerweise schreibt man in einer Klasse:</p>
<pre><code class="language-cpp">...
public:
  int getInt()const
  {
    return _i;
  }
private:
  int _i;
</code></pre>
<p>hier dieses &quot;const&quot; macht eigentlich keinen Sinn, man kann sowieso nicht dadurch interne _i verändern</p>
<pre><code class="language-cpp">[cpp]
...
public:
  int* getIntPtr()const
  {
    return _iPtr;
  }
private:
  int* _iPtr;
</code></pre>
<p>hier &quot;const&quot; taugt auch nichts, eigentlich soll man</p>
<pre><code class="language-cpp">const int* getIntPtr()
</code></pre>
<p>schreiben</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/139091/get-methode</link><generator>RSS for Node</generator><lastBuildDate>Sun, 30 Aug 2026 09:36:09 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/139091.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 03 Mar 2006 14:42:44 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to get Methode on Fri, 03 Mar 2006 14:42:44 GMT]]></title><description><![CDATA[<p>wieso schreibt man &quot;XXX getxxx() const&quot;<br />
normalerweise schreibt man in einer Klasse:</p>
<pre><code class="language-cpp">...
public:
  int getInt()const
  {
    return _i;
  }
private:
  int _i;
</code></pre>
<p>hier dieses &quot;const&quot; macht eigentlich keinen Sinn, man kann sowieso nicht dadurch interne _i verändern</p>
<pre><code class="language-cpp">[cpp]
...
public:
  int* getIntPtr()const
  {
    return _iPtr;
  }
private:
  int* _iPtr;
</code></pre>
<p>hier &quot;const&quot; taugt auch nichts, eigentlich soll man</p>
<pre><code class="language-cpp">const int* getIntPtr()
</code></pre>
<p>schreiben</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1007714</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1007714</guid><dc:creator><![CDATA[netrobot]]></dc:creator><pubDate>Fri, 03 Mar 2006 14:42:44 GMT</pubDate></item><item><title><![CDATA[Reply to get Methode on Fri, 03 Mar 2006 14:47:32 GMT]]></title><description><![CDATA[<p>const-Methoden hat für zwei Dinge Sinn:<br />
- Es ist nicht möglich, Variablen des Objektes innerhalb der Methode zu ändern (auch nicht aus Versehen).<br />
- Da der Compiler weiß, dass keine Objektvariablen geändert werden, kann er ggf. besser optimieren.</p>
<p>*edit*<br />
Dein zweites Beispiel wird nicht funktionieren, da das private 'const int* _iPtr' ('const' aufgrund der const-Deklaration der Methode) nicht als 'int*' zurückgegeben werden kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1007719</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1007719</guid><dc:creator><![CDATA[Neku]]></dc:creator><pubDate>Fri, 03 Mar 2006 14:47:32 GMT</pubDate></item><item><title><![CDATA[Reply to get Methode on Fri, 03 Mar 2006 14:58:16 GMT]]></title><description><![CDATA[<p>irgendwie verwirrst du mich?!</p>
<p>wieso soll das nicht gehen wenn es an einen const zeiger zurückgegeben wwird??</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1007737</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1007737</guid><dc:creator><![CDATA[ser1al]]></dc:creator><pubDate>Fri, 03 Mar 2006 14:58:16 GMT</pubDate></item><item><title><![CDATA[Reply to get Methode on Fri, 03 Mar 2006 15:03:18 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">class Foo {
public: int get() { return value; }
private: int value;
};

void machWasMitEinemFooObjekt(const Foo&amp; objekt)
{
    cout &lt;&lt; objekt.get(); // geht nicht weil Methode nicht const!
}
</code></pre>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1007743</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1007743</guid><dc:creator><![CDATA[FireFlow]]></dc:creator><pubDate>Fri, 03 Mar 2006 15:03:18 GMT</pubDate></item><item><title><![CDATA[Reply to get Methode on Fri, 03 Mar 2006 15:05:49 GMT]]></title><description><![CDATA[<p>ser1al schrieb:</p>
<blockquote>
<p>irgendwie verwirrst du mich?!</p>
<p>wieso soll das nicht gehen wenn es an einen const zeiger zurückgegeben wwird??</p>
</blockquote>
<p>Es geht um die Methode, nicht wie du sie benutzt. In der Methode wird 'const int* _iPtr' zurückgegeben, aber der Rückgabetyp ist 'int*' (ohne const) und das ist nicht möglich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1007744</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1007744</guid><dc:creator><![CDATA[Neku]]></dc:creator><pubDate>Fri, 03 Mar 2006 15:05:49 GMT</pubDate></item><item><title><![CDATA[Reply to get Methode on Fri, 03 Mar 2006 15:07:20 GMT]]></title><description><![CDATA[<p>es ist eben der Nachteil, wenn man so schreibt (Bsp2)<br />
d.h. von aussen kann man anhand dieses Zeigers interne private Varible ändern! obwohl man const dahinter schreibt.</p>
<pre><code class="language-cpp">int *mainptr = MyObj.getIntPtr();
*mainptr++;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1007746</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1007746</guid><dc:creator><![CDATA[netrobot]]></dc:creator><pubDate>Fri, 03 Mar 2006 15:07:20 GMT</pubDate></item><item><title><![CDATA[Reply to get Methode on Fri, 03 Mar 2006 15:10:02 GMT]]></title><description><![CDATA[<blockquote>
<p>Es geht um die Methode, nicht wie du sie benutzt. In der Methode wird 'const int* _iPtr' zurückgegeben, aber der Rückgabetyp ist 'int*' (ohne const) und das ist nicht möglich.</p>
</blockquote>
<p>verstehe ich nicht redet ihr über</p>
<pre><code class="language-cpp">int getInt() const
</code></pre>
<p>od</p>
<pre><code class="language-cpp">const int getInt()
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1007750</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1007750</guid><dc:creator><![CDATA[netrobot]]></dc:creator><pubDate>Fri, 03 Mar 2006 15:10:02 GMT</pubDate></item><item><title><![CDATA[Reply to get Methode on Fri, 03 Mar 2006 15:12:16 GMT]]></title><description><![CDATA[<p>netrobot schrieb:</p>
<blockquote>
<blockquote>
<p>Es geht um die Methode, nicht wie du sie benutzt. In der Methode wird 'const int* _iPtr' zurückgegeben, aber der Rückgabetyp ist 'int*' (ohne const) und das ist nicht möglich.</p>
</blockquote>
<p>verstehe ich nicht redet ihr über</p>
<pre><code class="language-cpp">int getInt() const
</code></pre>
<p>od</p>
<pre><code class="language-cpp">const int getInt()
</code></pre>
</blockquote>
<p>Weder noch, es geht im dein zweites Beispiel aus dem ersten Beitrag, wo du int* und nicht int verwendest.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1007753</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1007753</guid><dc:creator><![CDATA[Neku]]></dc:creator><pubDate>Fri, 03 Mar 2006 15:12:16 GMT</pubDate></item><item><title><![CDATA[Reply to get Methode on Fri, 03 Mar 2006 15:12:17 GMT]]></title><description><![CDATA[<p>Innerhalb</p>
<pre><code class="language-cpp">int *Klasse::getInt() const
</code></pre>
<p>ist this const. Damit ist auch der Inhalt von this const. Damit ist auch _iptr const. Du willst ein const int * als int * zurückgeben -&gt; das geht nicht!</p>
<p>Das const hintendran bedeutet &quot;Innerhalb dieser Methode ist this const&quot;. Damit kannst Du Member des Objekts nur lesen (und auch keine schreibbare Version zurückgeben).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1007754</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1007754</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Fri, 03 Mar 2006 15:12:17 GMT</pubDate></item><item><title><![CDATA[Reply to get Methode on Fri, 03 Mar 2006 15:21:34 GMT]]></title><description><![CDATA[<p>LordJaxom schrieb:</p>
<blockquote>
<p>Innerhalb</p>
<pre><code class="language-cpp">int *Klasse::getInt() const
</code></pre>
<p>ist this const. Damit ist auch der Inhalt von this const.</p>
</blockquote>
<p>Das ist richtig. Aber der &quot;Inhalt&quot; von this ist der Zeiger, nicht das, worauf der Zeiger zeigt.</p>
<p>Edit: Bin mir nicht sicher, ob ich mich klar genug ausgedrückt habe. Wenn du aus getInt() const ein &quot;int *&quot; zurückgibst, gibst du nur ein Kopie des konstanten Zeigers zurück. Und das ist zulässig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1007759</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1007759</guid><dc:creator><![CDATA[Z2]]></dc:creator><pubDate>Fri, 03 Mar 2006 15:21:34 GMT</pubDate></item><item><title><![CDATA[Reply to get Methode on Fri, 03 Mar 2006 15:20:46 GMT]]></title><description><![CDATA[<p>Hrm...</p>
<p>Hier ist der Inhalt ( *p ) const, der Zeiger kann beliebige Werte annehmen</p>
<pre><code class="language-cpp">const int *p;
</code></pre>
<p>Hier ist der Zeiger ( p ) const, aber der Inhalt änderbar</p>
<pre><code class="language-cpp">int * const p;
</code></pre>
<p>Der Zeiger this ist IMHO sowieso per se immer const. (Warum sollte man innerhalb einer Methode auch this verändern?). Mit der Angabe const hinter der Methodendeklaration ist zusätzlich der Inhalt ( *this ) const.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1007762</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1007762</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Fri, 03 Mar 2006 15:20:46 GMT</pubDate></item><item><title><![CDATA[Reply to get Methode on Fri, 03 Mar 2006 15:26:35 GMT]]></title><description><![CDATA[<p>Meinen Edit gelesen? Sorry, die erste Formulierung war wirklich nicht eindeutig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1007768</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1007768</guid><dc:creator><![CDATA[Z2]]></dc:creator><pubDate>Fri, 03 Mar 2006 15:26:35 GMT</pubDate></item></channel></rss>