<?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 Methode]]></title><description><![CDATA[<p>Gutn Abnd</p>
<p>Es gilt ja für &quot;const&quot;-Methoden einer Klasse folgendes:<br />
1. In const-Methoden können nicht Attribute der Klasse geändert werden.<br />
2. const-Methoden können nur andere const-Methoden, nicht aber normale Methoden, die die Attribute der Klasse ändern, aufrufen.<br />
Wenn ich nun von der const-Methode aus eine andere Methode der Klasse aufrufe, das ein Attribut der Klasse ändert, so bekomm ich ne Fehlermeldung. Soweit alles OK.<br />
Doch wenn ich aus der const-Methode die Funktion &quot;memset()&quot; aufrufe und damit dann ein Klassenattribut überschreibe, sagt der Compiler nichts.</p>
<p>Wieso? Wieso schreit der Compiler nicht? memset() ist doch schließlich nicht &quot;const&quot;.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/308151/const-methode</link><generator>RSS for Node</generator><lastBuildDate>Wed, 05 Aug 2026 13:43:59 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/308151.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 16 Sep 2012 17:11:28 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to const Methode on Sun, 16 Sep 2012 17:11:28 GMT]]></title><description><![CDATA[<p>Gutn Abnd</p>
<p>Es gilt ja für &quot;const&quot;-Methoden einer Klasse folgendes:<br />
1. In const-Methoden können nicht Attribute der Klasse geändert werden.<br />
2. const-Methoden können nur andere const-Methoden, nicht aber normale Methoden, die die Attribute der Klasse ändern, aufrufen.<br />
Wenn ich nun von der const-Methode aus eine andere Methode der Klasse aufrufe, das ein Attribut der Klasse ändert, so bekomm ich ne Fehlermeldung. Soweit alles OK.<br />
Doch wenn ich aus der const-Methode die Funktion &quot;memset()&quot; aufrufe und damit dann ein Klassenattribut überschreibe, sagt der Compiler nichts.</p>
<p>Wieso? Wieso schreit der Compiler nicht? memset() ist doch schließlich nicht &quot;const&quot;.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2251678</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2251678</guid><dc:creator><![CDATA[Goog]]></dc:creator><pubDate>Sun, 16 Sep 2012 17:11:28 GMT</pubDate></item><item><title><![CDATA[Reply to const Methode on Sun, 16 Sep 2012 18:28:41 GMT]]></title><description><![CDATA[<p>Zeig mal den entsprechenden Code? memset() ist keine Methode, daher ist es weder const noch nicht const...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2251706</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2251706</guid><dc:creator><![CDATA[dot]]></dc:creator><pubDate>Sun, 16 Sep 2012 18:28:41 GMT</pubDate></item><item><title><![CDATA[Reply to const Methode on Sun, 16 Sep 2012 19:42:31 GMT]]></title><description><![CDATA[<p>Ist das Attribut zufällig ein Zeiger auf einen Speicherblock, auf den du memset dann anwendest? Das geht, auch wenn der Zeiger konstant ist. Ein konstanter Zeiger ist nicht dasselbe wie ein Zeiger auf einen konstanten Speicherbereich <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>
<p>Wie auch immer, her mit dem Code...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2251721</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2251721</guid><dc:creator><![CDATA[*rant*]]></dc:creator><pubDate>Sun, 16 Sep 2012 19:42:31 GMT</pubDate></item><item><title><![CDATA[Reply to const Methode on Sun, 16 Sep 2012 19:48:23 GMT]]></title><description><![CDATA[<p>/rant/ schrieb:</p>
<blockquote>
<p>Ein konstanter Zeiger ist nicht dasselbe wie ein Zeiger auf einen konstanten Speicherbereich <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>
</blockquote>
<p>Genau, da liegt eben der Unterschied zwischen bitwise const und logical const...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2251723</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2251723</guid><dc:creator><![CDATA[dot]]></dc:creator><pubDate>Sun, 16 Sep 2012 19:48:23 GMT</pubDate></item><item><title><![CDATA[Reply to const Methode on Tue, 09 Oct 2012 18:43:52 GMT]]></title><description><![CDATA[<p>Nur am Rande und eher ein Sonderfall, mit dem Schlüsselwort &quot;mutable&quot; kann man das Attribut auch in einer Const-Methode verändern. Anwendungsfall: Wenn hinter einer Const-Methode ein Cache-Mechanismus steckt. Soweit ich weiß ist Const auch nur ein Versprechen, und ein Versprechen muss nicht gehalten werden (siehe Sonderfall).</p>
<pre><code class="language-cpp">class A {
public:
  typedef std::vector&lt; int &gt; IntVector;
public:
  A() : _biggestValue( _values.end() ) {}

  int getBiggestValue() const {
    if( _biggestValue != _values.end() ) {
      return *_biggestValue;
    }

    // ggf. gibt es hierfür eine STL Implementierung
    int biggestValue = std::numeric_limits&lt; int &gt;::min();
    for(IntVector::const_iterator itr = _values.begin(); itr != _values.end(); ++itr) {
     if( *itr &gt; biggestValue ) {
       biggestValue = *itr;
       _biggestValue = itr;
     }
   } 

   return biggestValue;
  }

private:
  IntVector _values;
  mutable IntVector::const_iterator _biggestValue;
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2258635</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2258635</guid><dc:creator><![CDATA[jb2012]]></dc:creator><pubDate>Tue, 09 Oct 2012 18:43:52 GMT</pubDate></item><item><title><![CDATA[Reply to const Methode on Tue, 09 Oct 2012 18:52:35 GMT]]></title><description><![CDATA[<p>Dieser Thread wurde von Moderator/in <a href="http://www.c-plusplus.net/forum/u18363" rel="nofollow">Jochen Kalmbach</a> aus dem Forum <a href="http://www.c-plusplus.net/forum/f58" rel="nofollow">C++/CLI mit .NET</a> in das Forum <a href="http://www.c-plusplus.net/forum/f15" rel="nofollow">C++ (auch C++0x und C++11)</a> verschoben.</p>
<p>Im Zweifelsfall bitte auch folgende Hinweise beachten:<br />
<a href="http://www.c-plusplus.net/forum/39405" rel="nofollow">C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?</a></p>
<p><em>Dieses Posting wurde automatisch erzeugt.</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2258638</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2258638</guid><dc:creator><![CDATA[C++ Forumbot]]></dc:creator><pubDate>Tue, 09 Oct 2012 18:52:35 GMT</pubDate></item><item><title><![CDATA[Reply to const Methode on Tue, 09 Oct 2012 19:05:32 GMT]]></title><description><![CDATA[<p>dot schrieb:</p>
<blockquote>
<p>/rant/ schrieb:</p>
<blockquote>
<p>Ein konstanter Zeiger ist nicht dasselbe wie ein Zeiger auf einen konstanten Speicherbereich <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>
</blockquote>
<p>Genau, da liegt eben der Unterschied zwischen bitwise const und logical const...</p>
</blockquote>
<p>Wieso kommst du auf einmal darauf!? Das hat doch nichts mit Zeigerkonstanz zu tun... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2258639</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2258639</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Tue, 09 Oct 2012 19:05:32 GMT</pubDate></item><item><title><![CDATA[Reply to const Methode on Tue, 09 Oct 2012 19:18:26 GMT]]></title><description><![CDATA[<p>Zugegeben, das Zitat war zu knapp gewählt und liefert etwas zu wenig Kontext. Wenn du den Thread bis zu dem Posting ganz liest, wird hoffentlich klarer, was ich damit gemeint hab...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2258642</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2258642</guid><dc:creator><![CDATA[dot]]></dc:creator><pubDate>Tue, 09 Oct 2012 19:18:26 GMT</pubDate></item></channel></rss>