<?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[Klassen verständniss]]></title><description><![CDATA[<p>Hallo</p>
<p>ich habe ein kleines Prob. mit Klassen. Ich möchte ein Prog in dem ich mehrer Fahrzeuge verwalte, nun mein Problem. Wenn ich ein Kennzeichen (zb. a-aa 666) anlege und ein neues Objekt anlege wie kann ich dieses Objekt später ansprechen? <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="😕"
    /> <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/topic/159405/klassen-verständniss</link><generator>RSS for Node</generator><lastBuildDate>Thu, 10 Sep 2026 23:06:37 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/159405.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 14 Sep 2006 16:09:20 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Klassen verständniss on Thu, 14 Sep 2006 16:09:20 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>ich habe ein kleines Prob. mit Klassen. Ich möchte ein Prog in dem ich mehrer Fahrzeuge verwalte, nun mein Problem. Wenn ich ein Kennzeichen (zb. a-aa 666) anlege und ein neues Objekt anlege wie kann ich dieses Objekt später ansprechen? <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="😕"
    /> <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/1137479</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1137479</guid><dc:creator><![CDATA[rest]]></dc:creator><pubDate>Thu, 14 Sep 2006 16:09:20 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen verständniss on Thu, 14 Sep 2006 16:32:10 GMT]]></title><description><![CDATA[<p>Wie hast du dein Objekt denn angelegt?</p>
<pre><code class="language-cpp">class automobil
{
   string zeichen;
   automobil(const string&amp; z) : zeichen(z) {}
};

automobil a(&quot;a-aa 666&quot;);
string kennzeichen = a.zeichen;
</code></pre>
<p>[edit]<br />
Klassenname geändert.<br />
So besser. <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="🙂"
    /> [edit]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1137490</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1137490</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Thu, 14 Sep 2006 16:32:10 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen verständniss on Thu, 14 Sep 2006 16:29:40 GMT]]></title><description><![CDATA[<p>Wobei auto natürlich ein denkbar schlechter Namen für eine Klasse ist <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1137495</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1137495</guid><dc:creator><![CDATA[klugscheißer]]></dc:creator><pubDate>Thu, 14 Sep 2006 16:29:40 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen verständniss on Thu, 14 Sep 2006 17:17:04 GMT]]></title><description><![CDATA[<p>[</p>
<pre><code>class Auto{
      float kmAlt;
      float kmNeu;
      float lieter;
      float gefahren;
      float verbrauch;

      public:
....
</code></pre>
<p>]<br />
im prinziep erst mal ne grundidee</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1137523</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1137523</guid><dc:creator><![CDATA[rest]]></dc:creator><pubDate>Thu, 14 Sep 2006 17:17:04 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen verständniss on Thu, 14 Sep 2006 19:05:42 GMT]]></title><description><![CDATA[<p>Braunstein schrieb:</p>
<blockquote>
<pre><code class="language-cpp">class automobil
{
   string zeichen;
   automobil(const string&amp; z) : zeichen(z) {}
};
</code></pre>
</blockquote>
<p>alles 'private' *ggg*</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/4826">@rest</a>: wenn du ein objekt direkt anlegst, dann mit dem punkt 'object.member = ...'<br />
solltest du mit 'new' arbeiten dann 'object-&gt;member = ...'</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1137589</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1137589</guid><dc:creator><![CDATA[net 0]]></dc:creator><pubDate>Thu, 14 Sep 2006 19:05:42 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen verständniss on Fri, 15 Sep 2006 07:55:56 GMT]]></title><description><![CDATA[<p>Das es jetzt private ist, liegt daran, dass ich eigentlich erst eine struct machen wollte, mich dann aber kurzfristig für class entschieden hab um den OP nicht zu verwirren. Irgendwie hab ich dann wohl das public: vergessen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1137759</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1137759</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Fri, 15 Sep 2006 07:55:56 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen verständniss on Fri, 15 Sep 2006 08:30:05 GMT]]></title><description><![CDATA[<p>Übrigens widerspricht der direkte Zugriff von außen den (üblichen) Schutzbeschränkungen für Klassen. Schließlich sind die Member &quot;private&quot;, DAMIT niemand darin rumpfuschen kann. Besser dürfte die Auto-Klasse also so aussehen:</p>
<pre><code class="language-cpp">class Auto
{
  string kennz;
public:
  Auto(const string&amp; k) : kennz(k) {}

  void set_kennz(const string&amp; k) {kennz=k;}//nur wenn du der Meinung bist, das Kennzeichen nachträglich ändern zu wollen
  string get_kennz() { return kennz;}
};
</code></pre>
<p>(dieser Ansatz hat den Vorteil, daß du im Setter noch eine Fehlerkontrolle einbauen (oder ihn ganzweglassen) kannst)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1137788</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1137788</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 15 Sep 2006 08:30:05 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen verständniss on Fri, 15 Sep 2006 08:33:56 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">string const&amp; get_kennz() { return kennz;}
</code></pre>
<p>wir wollen ja nicht, daß die freien attribute schneller sind.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1137794</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1137794</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Fri, 15 Sep 2006 08:33:56 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen verständniss on Fri, 15 Sep 2006 09:01:23 GMT]]></title><description><![CDATA[<p>ich würde es außerdem erlauben, die methoden auch über konstante referenzen auf das objekt aufzurufen:</p>
<pre><code class="language-cpp">const string &amp;get_kennz() const { return kennz;}
string get_kennzKopie() const { return kennz;} //kopie kann auch nützlich sein
</code></pre>
<p>zum beispiel mit so einer funktion:</p>
<pre><code class="language-cpp">void test(const Auto &amp;a) { cout &lt;&lt; a.get_kennz() &lt;&lt; endl; }
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1137818</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1137818</guid><dc:creator><![CDATA[doppel-moppel]]></dc:creator><pubDate>Fri, 15 Sep 2006 09:01:23 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen verständniss on Fri, 15 Sep 2006 09:05:47 GMT]]></title><description><![CDATA[<p>Sorry doppelmoppel, aber deine 2. Methode ist sinnlos!<br />
Es reicht, die konstante Referenz zurückzugeben.</p>
<p>Schließlich kann man eine Kopie ja jederzeit mit</p>
<pre><code class="language-cpp">Auto a;
std::string sKennzeichen = a.get_kennz();
</code></pre>
<p>anlegen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1137822</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1137822</guid><dc:creator><![CDATA[Th]]></dc:creator><pubDate>Fri, 15 Sep 2006 09:05:47 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen verständniss on Fri, 15 Sep 2006 09:29:12 GMT]]></title><description><![CDATA[<p>Th schrieb:</p>
<blockquote>
<p>Sorry doppelmoppel, aber deine 2. Methode ist sinnlos!</p>
</blockquote>
<p>stimmt. ich hatte eigentlich an folgendes szenario gedacht:</p>
<pre><code class="language-cpp">void test(string &amp;s);
...
Auto a(&quot;bla&quot;);
test(a.get_kennzKopie());
</code></pre>
<p>aber referenzen auf nicht const sind ja mit temporaries verboten</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1137835</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1137835</guid><dc:creator><![CDATA[doppel-moppel]]></dc:creator><pubDate>Fri, 15 Sep 2006 09:29:12 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen verständniss on Fri, 15 Sep 2006 09:31:20 GMT]]></title><description><![CDATA[<p>test(a.get_kennzKopie()); ergibt keinen sinn, wenn test die kopie ändert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1137836</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1137836</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Fri, 15 Sep 2006 09:31:20 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen verständniss on Fri, 15 Sep 2006 10:13:27 GMT]]></title><description><![CDATA[<p>volkard schrieb:</p>
<blockquote>
<p>test(a.get_kennzKopie()); ergibt keinen sinn, wenn test die kopie ändert.</p>
</blockquote>
<p>es ergibt nur dann keinen sinn, wenn test nichts anderes macht, als die kopie zu ändern. es kann ja sein, dass test viele andere sinnvolle sachen macht, und die veränderung des parameters ignoriert werden darf.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1137852</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1137852</guid><dc:creator><![CDATA[doppel-moppel]]></dc:creator><pubDate>Fri, 15 Sep 2006 10:13:27 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen verständniss on Fri, 15 Sep 2006 11:41:46 GMT]]></title><description><![CDATA[<p>Die Signatur der Funktion sagt das sie für eine Modifikation des übergebenen Parameters zuständig ist. Die vielen anderen nützlichen Dinge wären Seiteneffekte.</p>
<p>Das nutzen von Seiteneffekten bedeutet jedoch sich mit undefinierten verhalten einzulassen, da sich die Implementierung von test jederzeit ändern kann.</p>
<p>Da ja aber keiner undefiniertes verhalten haben will (also keine Seiteneffekte) ist der Aufruf von test mit einer Kopie eines Wertes der gezeigten Art ohne effekt.</p>
<p>IMHO braucht man keine Methode in einer Klasse, wenn diese die internen Daten per const ref zurück liefert. Wird dennoch eine Kopie benötigt, so möge diese der Client der Klasse erzeugen. Dieser kann durch das Wissen wofür er diese benötigt viel effizienter/zielgerichteter anlegen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1137886</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1137886</guid><dc:creator><![CDATA[Knuddlbaer]]></dc:creator><pubDate>Fri, 15 Sep 2006 11:41:46 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen verständniss on Fri, 15 Sep 2006 12:12:40 GMT]]></title><description><![CDATA[<p>aber mit getKennzKopie spart man drei Zeichen beim tippen.</p>
<pre><code class="language-cpp">test(a.getKennzKopie());
test(string(a.getKennz()));
</code></pre>
<p>auch ein netter vorschlag, damit kopiegetter nicht immer eingebaut werden müssen:</p>
<pre><code class="language-cpp">template&lt;typename T&gt;
T kopie(T const&amp; t){
   return t;
}
test(kopie(a.getKennz()));
</code></pre>
<p>mann, bin ich heute wieder fantasievoll. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1137905</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1137905</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Fri, 15 Sep 2006 12:12:40 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen verständniss on Fri, 15 Sep 2006 12:15:17 GMT]]></title><description><![CDATA[<p>3 Zeichen, da fehlt ne klammer <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="😃"
    /></p>
<p>grrrr - hat er doch noch schnell nachgezählt <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/1137908</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1137908</guid><dc:creator><![CDATA[Knuddlbaer]]></dc:creator><pubDate>Fri, 15 Sep 2006 12:15:17 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen verständniss on Fri, 15 Sep 2006 16:15:05 GMT]]></title><description><![CDATA[<p>Knuddlbaer schrieb:</p>
<blockquote>
<p>Die Signatur der Funktion sagt das sie für eine Modifikation des übergebenen Parameters zuständig ist. Die vielen anderen nützlichen Dinge wären Seiteneffekte.</p>
</blockquote>
<p>Eine Funktion mit Rückgabetyp void, die Seiteneffekte verursacht; wer hätte das gedacht? <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="😉"
    /> Die Modifikation des übergebenen Parameters kann evtl. auch eine ignorierbare Log-Funktionalität darstellen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1138060</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1138060</guid><dc:creator><![CDATA[doppel-moppel]]></dc:creator><pubDate>Fri, 15 Sep 2006 16:15:05 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen verständniss on Fri, 15 Sep 2006 16:27:35 GMT]]></title><description><![CDATA[<p>Ich sehe hier erst einmal das Bedürfnis meine Sicht von Seiteneffekten zu erläutern um missverständnisse von flamen zu unterschieden:</p>
<p>Unter Seiteneffekt verstehe ich, das die Funktion Daten verändert die nicht offensichtlich sind.</p>
<pre><code class="language-cpp">void x::test(T &amp; t)
{
   // Seiteneffekte
   intern_ganz_viel_am_internen_objekt_aendern();
   t += 2;
}
</code></pre>
<p>Und was wenn x::test nun davon ausgeht, das t wirklich geändert wurde ?</p>
<p>Drehen wir den Spieß doch mal um:</p>
<p>Nenne einen konkreten Fall in dem man einer Routine, die Werte ändert und deren Implementierung unbekannt ist, eine Kopie des zu ändernden Wertes übergeben sollte und warum dies kein Risiko betreffend undefinierten Verhaltens ist.</p>
<p>Ebenso wäre es interesannt Deine Sicht der Designentscheidung zu erfahren einer solchen Routine eine aufwendige und teure Kopie zu übergeben.</p>
<p>Mir fällt dazu nur das ausnutzen von Seiteneffekten (s.o.) zu verwenden und die eigentliche Aufgabe der Routine wegzuwerfen.</p>
<p>(Das es in der Praxis viele Routinen gibt die T &amp; annehmen aber keine Änderung des Wertes vornehmen sei als bekannt hingestellt aber nicht als garantiert).</p>
<p>Ich lerne doch gerne was neues dazu - und bitte nich als Flame verstehen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1138067</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1138067</guid><dc:creator><![CDATA[Knuddlbaer]]></dc:creator><pubDate>Fri, 15 Sep 2006 16:27:35 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen verständniss on Fri, 15 Sep 2006 16:32:08 GMT]]></title><description><![CDATA[<p>Knuddlbaer schrieb:</p>
<blockquote>
<p>(Das es in der Praxis viele Routinen gibt die T &amp; annehmen aber keine Änderung des Wertes vornehmen sei als bekannt hingestellt aber nicht als garantiert).</p>
</blockquote>
<p>nee, ist mir neu.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1138069</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1138069</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Fri, 15 Sep 2006 16:32:08 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen verständniss on Fri, 15 Sep 2006 16:37:37 GMT]]></title><description><![CDATA[<p>Na dann von mir aus auch T * und nen Blick in die WinApi oder so macher kommerziellen Lib, den Quellcode vom Cheffe .... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /> In dem was zum standard gehört kann ich Dir keinen einzigen Fall nennen (weils den nich gibt oder ich mich nich auskenne mit C++)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1138071</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1138071</guid><dc:creator><![CDATA[Knuddlbaer]]></dc:creator><pubDate>Fri, 15 Sep 2006 16:37:37 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen verständniss on Fri, 15 Sep 2006 16:35:24 GMT]]></title><description><![CDATA[<p>Knuddlbaer schrieb:</p>
<blockquote>
<p>Na dann von mir aus auch T * und nen Blick in die WinApi oder so macher kommerziellen Lib, den Quellcode vom Cheffe .... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /> In dem was zum stan**** gehört kann ich Dir keinen einzigen Fall nennen (weils den nich gibt oder ich mich nich auskenne mit C++)</p>
</blockquote>
<p>in libs, die sooo alt sind, daß sie in c vor 1999 geschrieben wurden. da mögen T* vorkommen, wo T const* gemeint ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1138072</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1138072</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Fri, 15 Sep 2006 16:35:24 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen verständniss on Fri, 15 Sep 2006 16:36:56 GMT]]></title><description><![CDATA[<p>Knuddlbaer schrieb:</p>
<blockquote>
<p>Unter Seiteneffekt verstehe ich, das die Funktion Daten verändert die nicht offensichtlich sind.</p>
</blockquote>
<p>Auch jede Ausgabe ist ein Seiteneffekt obwohl sie die Daten nicht verändert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1138073</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1138073</guid><dc:creator><![CDATA[Javaner]]></dc:creator><pubDate>Fri, 15 Sep 2006 16:36:56 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen verständniss on Fri, 15 Sep 2006 16:52:39 GMT]]></title><description><![CDATA[<p>volkard schrieb:</p>
<blockquote>
<p>in libs, die sooo alt sind, daß sie in c vor 1999 geschrieben wurden. da mögen T* vorkommen, wo T const* gemeint ist.</p>
</blockquote>
<p>Naja, ein Blick in das .Net Framework 2.0 :</p>
<pre><code class="language-cpp">public: static int String::Compare (String^ strA, String^ strB);
public: bool String::Contains (String^ value);
</code></pre>
<p>(^ = managed Pointer)</p>
<p>Ok, die definition von Seitenefekten sollte ich mir noch mal ansehen, aber der Punkt &quot;Warum kann es sinvoll sein eine Kopie zu übergeben um ein T &amp; zu einem T zu machen&quot; wäre für mich vom verständnis her noch offen.</p>
<p>Gerade wenn man Volkards ansprüche annimmt, das überall wo Nichts verändert wird T const(*|&amp;|^|%) angesetzt wird erschliesst sich mir der Grund nicht und ich würde gerne diese Wissenslücke schliessen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1138086</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1138086</guid><dc:creator><![CDATA[Knuddlbaer]]></dc:creator><pubDate>Fri, 15 Sep 2006 16:52:39 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen verständniss on Fri, 15 Sep 2006 16:57:35 GMT]]></title><description><![CDATA[<p>Knuddlbaer schrieb:</p>
<blockquote>
<p>Gerade wenn man Volkards ansprüche annimmt, das überall wo Nichts verändert wird T const(*|&amp;|^|%) angesetzt wird erschliesst sich mir der Grund nicht</p>
</blockquote>
<p>Z.B. allein schon deswegen, damit dir der Compiler deinen Code um die Ohren haut,<br />
wenn du versuchst, eine als const definierte Variable, einer Funktion<br />
zu übergeben, die ihr Argument verändert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1138088</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1138088</guid><dc:creator><![CDATA[Javaner]]></dc:creator><pubDate>Fri, 15 Sep 2006 16:57:35 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen verständniss on Fri, 15 Sep 2006 17:52:43 GMT]]></title><description><![CDATA[<p>Nun geht es in der Dikussion aber um folgendes konstrukt:</p>
<pre><code class="language-cpp">void test(T &amp;);
void test(T(value));
</code></pre>
<p>Also einer ändernden Funktion/Methode eine Kopie des Wertes zu übergeben, siehe ein paar Beiträge weiter vorne.</p>
<blockquote>
<p>Z.B. allein schon deswegen, damit dir der Compiler deinen Code um die Ohren haut,<br />
wenn du versuchst, eine als const definierte Variable, einer Funktion<br />
zu übergeben, die ihr Argument verändert.</p>
</blockquote>
<p>Ein Aufruf von</p>
<pre><code class="language-cpp">test(const_cast&lt;T&gt;(t));
</code></pre>
<p>verbessert die Situation von test nicht.</p>
<pre><code class="language-cpp">test(T(t));
</code></pre>
<p>mag das ganze zwar verbessern, aber mir erschliesst sich dennoch nicht, warum ich als Entwickler so etwas machen will - eine Kopie an eine Funktion zu übergeben deren Aufgabe die Wertänderung ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1138113</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1138113</guid><dc:creator><![CDATA[Knuddlbaer]]></dc:creator><pubDate>Fri, 15 Sep 2006 17:52:43 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen verständniss on Fri, 15 Sep 2006 18:21:13 GMT]]></title><description><![CDATA[<p>Eigentlich ist die Frage gegenstandslos.</p>
<p>Die Antwort wären IMHO:</p>
<p>Nach standard garnicht, funktionen die eine solche Schnitstelle liefern werden immer einen Wert ändern und in diesem Falle ist es völlig sinnfrei eine Kopie zu übergeben - ausnutzen von Seiteneffekten ist tabu.</p>
<p>In der Praxís fällt mir nur eine Situation ein:</p>
<p>Die Implementierung test ist unbekannt bzw. garantiert nicht das der Wert nicht geändert wird und man hat sehr empfindliche Daten, die garantiert keine Änderung erfahren dürfen und an test übergegen werden müssen.</p>
<p>(Eigentlich die gleichen Gründe für einen const_cast ? Wobei der const_cast ja wiederum notwendig sein könnte um ein einer void test(T const&amp;) const änderungen an membern zu machen !?)</p>
<p>Also, Diksussion führt zu nix, lasse mers <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1138130</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1138130</guid><dc:creator><![CDATA[Knuddlbaer]]></dc:creator><pubDate>Fri, 15 Sep 2006 18:21:13 GMT</pubDate></item></channel></rss>