<?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[STL Set - Werte ändern per Iterator?]]></title><description><![CDATA[<p>Hallo,</p>
<p>kann in einem <code>std::set</code> durch einen Iterator ein Wert (oder Schlüssel) verändert werden?</p>
<pre><code class="language-cpp">std::set&lt;int&gt; s;
s.insert(1);
s.insert(2);

(*s.find(1)) = 3;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/269209/stl-set-werte-ändern-per-iterator</link><generator>RSS for Node</generator><lastBuildDate>Mon, 31 Aug 2026 06:03:48 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/269209.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 21 Jun 2010 21:09:38 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to STL Set - Werte ändern per Iterator? on Mon, 21 Jun 2010 21:09:38 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>kann in einem <code>std::set</code> durch einen Iterator ein Wert (oder Schlüssel) verändert werden?</p>
<pre><code class="language-cpp">std::set&lt;int&gt; s;
s.insert(1);
s.insert(2);

(*s.find(1)) = 3;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1915437</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1915437</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Mon, 21 Jun 2010 21:09:38 GMT</pubDate></item><item><title><![CDATA[Reply to STL Set - Werte ändern per Iterator? on Mon, 21 Jun 2010 21:24:41 GMT]]></title><description><![CDATA[<p>Was soll daran nicht gehen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1915441</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1915441</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Mon, 21 Jun 2010 21:24:41 GMT</pubDate></item><item><title><![CDATA[Reply to STL Set - Werte ändern per Iterator? on Mon, 21 Jun 2010 21:28:03 GMT]]></title><description><![CDATA[<p>Naja, VC motzt...</p>
<p>Gleich wird wieder gefragt - Hier bitte:</p>
<pre><code class="language-cpp">#include &lt;set&gt;
#include &lt;iostream&gt;
using namespace std;

int main() {
    std::set&lt;int&gt; s;
    s.insert(1);
    s.insert(2);

    (*s.find(1)) = 3;	

    system(&quot;pause&quot;);
}
</code></pre>
<p>Fehler (Zeile 10):</p>
<pre><code>error C3892: 'std::_Tree&lt;_Traits&gt;::find' : you cannot assign to a variable that is const
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1915443</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1915443</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Mon, 21 Jun 2010 21:28:03 GMT</pubDate></item><item><title><![CDATA[Reply to STL Set - Werte ändern per Iterator? on Mon, 21 Jun 2010 22:01:07 GMT]]></title><description><![CDATA[<p>Nein, den Schlüssel darfst du nicht ändern, weil das Sortierprädikat davon abhängt. Durch Ändern der Werte könntest du das Set intern durcheinanderbringen, sodass die Klasseninvarianten (stets sortiert) nicht mehr aufrecht erhalten werden.</p>
<p>Falls du das wirklich machen musst, kommst du wohl um ein Herausnehmen und Neu Einfügen nicht herum.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1915451</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1915451</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Mon, 21 Jun 2010 22:01:07 GMT</pubDate></item><item><title><![CDATA[Reply to STL Set - Werte ändern per Iterator? on Mon, 21 Jun 2010 22:09:44 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Nein, den Schlüssel darfst du nicht ändern, weil das Sortierprädikat davon abhängt. Durch Ändern der Werte könntest du das Set intern durcheinanderbringen, sodass die Klasseninvarianten (stets sortiert) nicht mehr aufrecht erhalten werden.</p>
<p>Falls du das wirklich machen musst, kommst du wohl um ein Herausnehmen und Neu Einfügen nicht herum.</p>
</blockquote>
<p>Da stimmt schon, aber ich habs bei mir auch getestet VC 2008 Prof. und da gehts. Finde ich auch intuitiver, weil das entfernen/neu einfügen irgendwie logisch ist bei einer Menge also kann er das auch gleich selbst tun. Bin mir allerdings nicht sicher, was der Standard dazu sagt (nicht nachgeschaut).<br />
Ist ja eigentlich nicht dein Problem, was jetz die Datenstruktur genau macht, wenn du etwas ändern möchtest. Man bekommt ja auch keinen <code>const_iterator</code> zurück, also gehe ich davon aus, dass der Standard das durchaus auch erlaubt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1915456</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1915456</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Mon, 21 Jun 2010 22:09:44 GMT</pubDate></item><item><title><![CDATA[Reply to STL Set - Werte ändern per Iterator? on Tue, 22 Jun 2010 07:20:22 GMT]]></title><description><![CDATA[<p>Habe gerade den entsprechenden Passus der Referenz nicht zur Hand, aber Nicolai Josuttis erklärt in seinem Buch &quot;The C++ Standard Library: A Tutorial and Reference&quot; p182 Folgendes zu Iteratoren von sets und multisets:</p>
<p>Nicolai Josuttis schrieb:</p>
<blockquote>
<p>...<br />
More important is the constraint that, from an iterator´s point of view, all elements are considered constant. This is necessary to ensure that you can´t<br />
compromise the order of the elements by changing their values. However, as a result you can´t call any modifying algorithm on the elements of a set or<br />
multiset.<br />
...</p>
</blockquote>
<p>Nexus hat also völlig recht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1915540</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1915540</guid><dc:creator><![CDATA[DocShoe]]></dc:creator><pubDate>Tue, 22 Jun 2010 07:20:22 GMT</pubDate></item><item><title><![CDATA[Reply to STL Set - Werte ändern per Iterator? on Tue, 22 Jun 2010 11:43:52 GMT]]></title><description><![CDATA[<p>drakon schrieb:</p>
<blockquote>
<p>Da stimmt schon, aber ich habs bei mir auch getestet VC 2008 Prof. und da gehts.</p>
</blockquote>
<p>Nein, tuts nicht. Wenn du den Schlüssel veränderst, dann macht es die Sortierung kaputt. Und es gibt kein Sprachmittel in C++, sodass das Set davon Wind kriegen könnte(zumindest keins, dass im Interface von set erlaubt wäre).</p>
<p>teste es doch mal: füge die ersten 100 Zahlen ins set ein. Dann ändere die 50 oder so auf den Wert 105. Und dann schau mal, ob du sie mit find noch finden kannst. Gib dann mal das Set mit einem Iterator aus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1915677</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1915677</guid><dc:creator><![CDATA[otze]]></dc:creator><pubDate>Tue, 22 Jun 2010 11:43:52 GMT</pubDate></item><item><title><![CDATA[Reply to STL Set - Werte ändern per Iterator? on Tue, 22 Jun 2010 17:28:35 GMT]]></title><description><![CDATA[<p>otze schrieb:</p>
<blockquote>
<p>drakon schrieb:</p>
<blockquote>
<p>Da stimmt schon, aber ich habs bei mir auch getestet VC 2008 Prof. und da gehts.</p>
</blockquote>
<p>Nein, tuts nicht. Wenn du den Schlüssel veränderst, dann macht es die Sortierung kaputt. Und es gibt kein Sprachmittel in C++, sodass das Set davon Wind kriegen könnte(zumindest keins, dass im Interface von set erlaubt wäre).</p>
<p>teste es doch mal: füge die ersten 100 Zahlen ins set ein. Dann ändere die 50 oder so auf den Wert 105. Und dann schau mal, ob du sie mit find noch finden kannst. Gib dann mal das Set mit einem Iterator aus.</p>
</blockquote>
<p>Ok. Kann sein. Ich habe es nicht so gründlich getestet und nur mit dem Debugger geschaut, ob das Element korrekt drin war und es war dann geändert drin.<br />
Warum gibt <code>find</code> denn da kein <code>const_iterator</code> zurück?</p>
<p>Wenn dein Verfahren so funktioniert, dann halte ich das für sehr unsauber. Man kann die Invariante des Objektes zerstören und man kommt es nicht mitüber?! Sehr fahrlässig meiner Meinung nach.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1915887</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1915887</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Tue, 22 Jun 2010 17:28:35 GMT</pubDate></item><item><title><![CDATA[Reply to STL Set - Werte ändern per Iterator? on Tue, 22 Jun 2010 17:51:09 GMT]]></title><description><![CDATA[<p>drakon schrieb:</p>
<blockquote>
<p>Warum gibt <code>find</code> denn da kein <code>const_iterator</code> zurück?</p>
</blockquote>
<p>Weil du bei nem const_iterator auch nicht das zugehörige Datum ändern könntest...<br />
Imho gabs auch mal ne Diskussion, wie man mit nem const_iterator trotzdem löschen kann - bin ich mir allerdings nicht mehr sicher...</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1915906</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1915906</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Tue, 22 Jun 2010 17:51:09 GMT</pubDate></item><item><title><![CDATA[Reply to STL Set - Werte ändern per Iterator? on Tue, 22 Jun 2010 18:02:45 GMT]]></title><description><![CDATA[<p>unskilled schrieb:</p>
<blockquote>
<p>drakon schrieb:</p>
<blockquote>
<p>Warum gibt <code>find</code> denn da kein <code>const_iterator</code> zurück?</p>
</blockquote>
<p>Weil du bei nem const_iterator auch nicht das zugehörige Datum ändern könntest...</p>
</blockquote>
<p>Was für ein Datum bei einem set? Der Schlüssel ist das Datum..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1915914</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1915914</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Tue, 22 Jun 2010 18:02:45 GMT</pubDate></item><item><title><![CDATA[Reply to STL Set - Werte ändern per Iterator? on Tue, 22 Jun 2010 18:15:07 GMT]]></title><description><![CDATA[<p>drakon schrieb:</p>
<blockquote>
<p>unskilled schrieb:</p>
<blockquote>
<p>drakon schrieb:</p>
<blockquote>
<p>Warum gibt <code>find</code> denn da kein <code>const_iterator</code> zurück?</p>
</blockquote>
<p>Weil du bei nem const_iterator auch nicht das zugehörige Datum ändern könntest...</p>
</blockquote>
<p>Was für ein Datum bei einem set? Der Schlüssel ist das Datum..</p>
</blockquote>
<p>oh - war von map ausgegangen - mein fehler^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1915927</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1915927</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Tue, 22 Jun 2010 18:15:07 GMT</pubDate></item><item><title><![CDATA[Reply to STL Set - Werte ändern per Iterator? on Tue, 22 Jun 2010 21:31:02 GMT]]></title><description><![CDATA[<p>Herr Kreft &amp; Fr.Langer haben mit '<a href="http://www.angelikalanger.com/Articles/Cuj/01.SetIterators/SetIterators.html" rel="nofollow">Are Set Iterators Mutable or Immutable</a>' einen recht umfangreichen Artikel zum Thema verfasst.</p>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1916027</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1916027</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Tue, 22 Jun 2010 21:31:02 GMT</pubDate></item><item><title><![CDATA[Reply to STL Set - Werte ändern per Iterator? on Tue, 22 Jun 2010 21:41:51 GMT]]></title><description><![CDATA[<p>Werner Salomon schrieb:</p>
<blockquote>
<p>Herr Kreft &amp; Fr.Langer haben mit '<a href="http://www.angelikalanger.com/Articles/Cuj/01.SetIterators/SetIterators.html" rel="nofollow">Are Set Iterators Mutable or Immutable</a>' einen recht umfangreichen Artikel zum Thema verfasst.</p>
<p>Gruß<br />
Werner</p>
</blockquote>
<p>Habs gerade aus dem anderen Thread gelesen. <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="😉"
    /> Danke für den Link!<br />
(btw: du weisst das vlt. gerade: das ist üblicherweise ein AVL Baum, oder?)</p>
<p>Sehr interessant, auch wenn ich es wirklich ein wenig ungeschickt finde. Allerdings ist es wohl kaum besser zu beheben.</p>
<p>unskilled hatte zu einem Teil schon (unabsichtlich) Recht. <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="😉"
    /> - Ich habe da irgendwie die Menge zu mathematisch als einfache Objekte angesehen, aber es können natürlich auch Objekte sein, wo man dann etwas ändern kann, was nichts zur Ordnung beiträgt, darum muss es auch eine nicht konstante Version geben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1916033</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1916033</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Tue, 22 Jun 2010 21:41:51 GMT</pubDate></item><item><title><![CDATA[Reply to STL Set - Werte ändern per Iterator? on Tue, 22 Jun 2010 21:46:49 GMT]]></title><description><![CDATA[<p>drakon schrieb:</p>
<blockquote>
<p>Ok. Kann sein. Ich habe es nicht so gründlich getestet und nur mit dem Debugger geschaut, ob das Element korrekt drin war und es war dann geändert drin.<br />
Warum gibt <code>find</code> denn da kein <code>const_iterator</code> zurück?</p>
<p>Wenn dein Verfahren so funktioniert, dann halte ich das für sehr unsauber. Man kann die Invariante des Objektes zerstören und man kommt es nicht mitüber?! Sehr fahrlässig meiner Meinung nach.</p>
</blockquote>
<p>Sag mir, wie du es lösen würdest.</p>
<p>Nur <code>const_iteratoren</code> zu erlauben, scheint im ersten Augenblick zwar eine naheliegende Lösung zu sein, stellt jedoch nicht wirklich eine Option dar. Damit werden nämlich sämtliche Modifikationen am Objekt verunmöglicht, darunter auch jene, die im Bezug auf das Sortierkriterium irrelevant sind. Damit würde der <code>std::set</code> -Container einiges an Flexibilität einbüssen. Hingegen wäre eine Wrapper-Klasse, die lediglich <code>const</code> -Zugriff erlaubt, leicht zu implementieren.</p>
<p>Das Problem ist, dass du keine Implementierung für <code>std::set</code> und <code>std::multiset</code> schreiben kannst, welche intelligent genug ist, um zwischen akzeptablen und gefährlichem Zugriff auf die Elemente zu unterscheiden. Also muss diese Aufgabe dem Benutzer überlassen werden.</p>
<p><em>Edit: Hab deinen Beitrag erst jetzt gesehen...</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1916034</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1916034</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 22 Jun 2010 21:46:49 GMT</pubDate></item><item><title><![CDATA[Reply to STL Set - Werte ändern per Iterator? on Tue, 22 Jun 2010 21:54:42 GMT]]></title><description><![CDATA[<p>Mir wurde das Problem bewusst, während ich den Beitrag gelesen habe. Habe vorher eben nie nachgedacht wie jetzt das set aufgebaut ist (was man als User ja nicht unbedingt müssen sollte), aber als mir klar wurde, dass es ja ein Baum mit beliebigen Objekten ist, war es eigentlich klar, dass es nicht so einfach geht.</p>
<p>Eine Lösung liesse sich wahrscheinlich schon finden, welche dann aber mit grosser Wahrscheinlichkeit nicht wirklich konsistent mit den anderen Container Klassen wäre.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1916036</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1916036</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Tue, 22 Jun 2010 21:54:42 GMT</pubDate></item><item><title><![CDATA[Reply to STL Set - Werte ändern per Iterator? on Tue, 22 Jun 2010 22:02:35 GMT]]></title><description><![CDATA[<p>Selbst wenn man eine halbwegs generische Lösung fände, müsste man dem Container manuell mitteilen, welche Operationen erlaubt sind und welche nicht. Für den entsprechenden Aufwand kann man sich geradeso gut nach konventionellen Möglichkeiten umsehen oder wie die meisten Programmierer einfach gar nichts tun (d.h. bei modifizierendem Zugriff achtsam sein).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1916039</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1916039</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 22 Jun 2010 22:02:35 GMT</pubDate></item><item><title><![CDATA[Reply to STL Set - Werte ändern per Iterator? on Tue, 22 Jun 2010 22:12:10 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Selbst wenn man eine halbwegs generische Lösung fände, müsste man dem Container manuell mitteilen, welche Operationen erlaubt sind und welche nicht.</p>
</blockquote>
<p>Partial const objects. Alle Datenobjekte, welche in einer bestimmten Funktion (hier z.B '&lt;') benutzt werden, müssen const sein. Bei einem Objekt, was in einem set gespeichert werden soll macht das sogar richtig viel Sinn.<br />
Das wäre doch mal was. <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>Das könnte man vielleicht sogar irgendwie bereits hinbringen. Vielleicht ist die Idee gar nicht so verrückt, wie ich im ersten Moment gedacht habe..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1916041</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1916041</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Tue, 22 Jun 2010 22:12:10 GMT</pubDate></item><item><title><![CDATA[Reply to STL Set - Werte ändern per Iterator? on Tue, 22 Jun 2010 22:28:53 GMT]]></title><description><![CDATA[<p>drakon schrieb:</p>
<blockquote>
<p>Partial const objects. Alle Datenobjekte, welche in einer bestimmten Funktion (hier z.B '&lt;') benutzt werden, müssen const sein.</p>
</blockquote>
<p>Also würde <code>iterator</code> keinen Schreibzugriff auf diese erlauben? Und du müsstest auch einen neuen Qualifizierer für Zeiger und Referenzen anbieten, damit man den Iterator dereferenzieren kann. Allerings wäre es unklug, in der Klasse einzelne Methoden damit kennzuzeichnen, da man möglicherweise verschiedene Sortierkriterien zu einem Typ haben möchte. Was schlussendlich wieder darauf hinausläuft, dass man sortierkriteriums-spezifisch qualifizieren muss.</p>
<p>Wahrscheinlich wäre es doch etwas verrückt... <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/1916045</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1916045</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 22 Jun 2010 22:28:53 GMT</pubDate></item><item><title><![CDATA[Reply to STL Set - Werte ändern per Iterator? on Wed, 23 Jun 2010 16:44:03 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>drakon schrieb:</p>
<blockquote>
<p>Partial const objects. Alle Datenobjekte, welche in einer bestimmten Funktion (hier z.B '&lt;') benutzt werden, müssen const sein.</p>
</blockquote>
<p>Also würde <code>iterator</code> keinen Schreibzugriff auf diese erlauben?</p>
</blockquote>
<p>Es würde am Iterator Konzept nichts ändern. Das nichts falsches geschieht kommt automatisch damit, dass die Variablen konstant sind und man sie folglich mit keiner Funktion ändern kann. Ein Iterator kann genau das gleiche tun, wie sonst auch.</p>
<blockquote>
<p>Und du müsstest auch einen neuen Qualifizierer für Zeiger und Referenzen anbieten, damit man den Iterator dereferenzieren kann. Allerings wäre es unklug, in der Klasse einzelne Methoden damit kennzuzeichnen, da man möglicherweise verschiedene Sortierkriterien zu einem Typ haben möchte. Was schlussendlich wieder darauf hinausläuft, dass man sortierkriteriums-spezifisch qualifizieren muss.</p>
</blockquote>
<p>Ich denke an so etwas hier:</p>
<pre><code>class element [is partial const with '&lt;']
{
 public:
  element (int key ): key_ ( key ), foo( 0 ) {}
  bool operator &lt; (const element&amp; other)
  {
    // return foo_ &lt; other.foo_; // compiler Fehler
    return key_ &lt; other.key_;
  }
 private:
 const int key_;
 int foo_;
};
</code></pre>
<p>Und ein set nimmt dann nur Typen an, welche partial const auf '&lt;' sind.<br />
Das ganze sollte für ein Compiler nicht allzu schwer zu implementieren sein. Einfach die in den genannten Funktionen benutzten Typen anschauen, ob sie <code>const</code> sind oder nicht und eine entsprechende Meldung ausgeben.</p>
<p>Gäbe so natürlich noch Probleme damit Objekte, welche keine Instanzen von Klassen sind zu handhaben, aber das könnte man bestimmt auch irgendwie zufriedenstellend lösen.</p>
<p>In wiefern sich so etwas lohnen würde ist eine andere Frage. Ist ja nur ein Gedankenexperiment, wie man es lösen könnte. <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/1916405</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1916405</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Wed, 23 Jun 2010 16:44:03 GMT</pubDate></item></channel></rss>