<?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[Konstante Parameter]]></title><description><![CDATA[<p>ist es eigentlich sinnvoll kontante parameter zu verwenden. z.B.</p>
<pre><code class="language-cpp">int test( const int a, const int b, const int* c ){
   return a + b + *c;
}
</code></pre>
<p>oder lieber const float* const c??</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/273622/konstante-parameter</link><generator>RSS for Node</generator><lastBuildDate>Sun, 23 Aug 2026 14:58:16 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/273622.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 10 Sep 2010 05:53:03 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Konstante Parameter on Fri, 10 Sep 2010 05:53:03 GMT]]></title><description><![CDATA[<p>ist es eigentlich sinnvoll kontante parameter zu verwenden. z.B.</p>
<pre><code class="language-cpp">int test( const int a, const int b, const int* c ){
   return a + b + *c;
}
</code></pre>
<p>oder lieber const float* const c??</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1950614</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1950614</guid><dc:creator><![CDATA[JnZn558]]></dc:creator><pubDate>Fri, 10 Sep 2010 05:53:03 GMT</pubDate></item><item><title><![CDATA[Reply to Konstante Parameter on Fri, 10 Sep 2010 06:21:34 GMT]]></title><description><![CDATA[<p>Nein.</p>
<pre><code class="language-cpp">int test( const int a, const int b, const int* c ){
   int s=0;
   while(a&lt;c)
      a+=b;
   return a;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1950617</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1950617</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Fri, 10 Sep 2010 06:21:34 GMT</pubDate></item><item><title><![CDATA[Reply to Konstante Parameter on Fri, 10 Sep 2010 08:31:51 GMT]]></title><description><![CDATA[<p>JnZn558 schrieb:</p>
<blockquote>
<p>ist es eigentlich sinnvoll kontante parameter zu verwenden. z.B.</p>
</blockquote>
<p>Kommt meines Erachtens ganz stark auf den Datentyp an:</p>
<p>Bei normalen Datentypen die per Copy-By-Value übergeben werden, macht dies eigentlich niemals Sinn (Betrifft in deinem Fall a und b), bei Referenzen und Zeigern sehe ich dies wieder ganz anders. Da hat ein const durchaus seinen Sinn, um dem Aufrufer zu zeigen: Ich ändere nichts.</p>
<p>Grundsätzlich versuche ich bereits in der Schnittstelle bei Zeigern und Referenzen eindeutig zu zeigen ob ich dafür garantiere, das nichts am Wert geändert wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1950659</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1950659</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Fri, 10 Sep 2010 08:31:51 GMT</pubDate></item><item><title><![CDATA[Reply to Konstante Parameter on Fri, 10 Sep 2010 09:06:44 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>du sagst dass es bei einem eingebauten Datentyp keinen Performanceunterschied macht ob diese mit const übergeben werden oder nicht. Wenn ich das so richtig verstanden habe, kann es denn nicht sein das spätere Compiler für neuere CPUs daraus doch einen Performancegewinn generieren könnten und es somit durchaus sinnvoll sein kann auch elementare Datentypen ein const zu schenken, wenn sie nicht verändert werden?</p>
<p>Gruß Blue-Tec</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1950685</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1950685</guid><dc:creator><![CDATA[blue-tec]]></dc:creator><pubDate>Fri, 10 Sep 2010 09:06:44 GMT</pubDate></item><item><title><![CDATA[Reply to Konstante Parameter on Fri, 10 Sep 2010 09:19:12 GMT]]></title><description><![CDATA[<p>blue-tec schrieb:</p>
<blockquote>
<p>Hi,</p>
<p>du sagst dass es bei einem eingebauten Datentyp keinen Performanceunterschied macht ob diese mit const übergeben werden oder nicht. Wenn ich das so richtig verstanden habe, kann es denn nicht sein das spätere Compiler für neuere CPUs daraus doch einen Performancegewinn generieren könnten und es somit durchaus sinnvoll sein kann auch elementare Datentypen ein const zu schenken, wenn sie nicht verändert werden?</p>
<p>Gruß Blue-Tec</p>
</blockquote>
<p>Das hast du falsch verstanden <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="😉"
    /><br />
Er meinte wenn die Typen per Copy by value übergeben werden, sprich als Kopie und nicht als Referenz oder Zeiger, dann bringt einem das const ja nicht viel.<br />
Denn bei einer Referenz oder Zeiger beziehen sich eventuelle Änderungen ja auf den ursprünglichen Wert und dort garantierst du ja dann mit einem const, dass der Wert nicht geüändert wird. Aber bei copy by value, kannst du den ursprünglichen Wert ja gar nicht ändern <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>
<p>Verstanden?</p>
<p>Lg freeG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1950697</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1950697</guid><dc:creator><![CDATA[fr33g]]></dc:creator><pubDate>Fri, 10 Sep 2010 09:19:12 GMT</pubDate></item><item><title><![CDATA[Reply to Konstante Parameter on Fri, 10 Sep 2010 09:32:59 GMT]]></title><description><![CDATA[<p>Genau so hatte ich es auch verstanden, aber es anscheinend zu kompliziert beschrieben. Also noch mal meine Frage vereinfacht:</p>
<p>Bringt const bei Übergabe eines elementaren Datentyps(z.B int) einen Geschwindigkeitsvorteil?<br />
Das wurde mit nein beantwortet. Meine Frage war nun ob nicht eventuell spätere Compiler, für neue CPUs, doch aus diesem const ein Vorteil ziehen könnten in Bezug auf Performance? Weil, keine Ahnung, es neue Opcodes gibt die irgendwas anders machen.</p>
<p>Gruß Blue-Tec</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1950708</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1950708</guid><dc:creator><![CDATA[blue-tec]]></dc:creator><pubDate>Fri, 10 Sep 2010 09:32:59 GMT</pubDate></item><item><title><![CDATA[Reply to Konstante Parameter on Fri, 10 Sep 2010 09:47:01 GMT]]></title><description><![CDATA[<p>Nein, const gibt nie Performancevorteile, das ist ein Konstrukt einzig dazu da, die Absicht des Programmierers deutlich zu machen. Mit viel Mühe kann man eventuell Ausnahmefälle konstruieren, wo es ein ganz kleines bisschen bringen könnte, aber das ist definitiv nicht die Regel und wird es auch nie sein.</p>
<p>edit: Eine wichtige Ausnahme die ich vergessen habe sind Compilezeitkonstanten, die direkt eingesetzt werden können. Aber Variablen die erst zur Laufzeit feststehen als const zu markieren bringt keine Performance.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1950724</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1950724</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 10 Sep 2010 09:47:01 GMT</pubDate></item><item><title><![CDATA[Reply to Konstante Parameter on Fri, 10 Sep 2010 10:12:40 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Nein, const gibt nie Performancevorteile...</p>
</blockquote>
<p>Diese Aussage stimmt so nicht ganz. Ja, man kann, und sollte auch nicht davon ausgehen, das const automatisch einen Performancegewinn bedeutet. Aber in bestimmten Bereichen kann es unter Umständen zu Compileroptimierungen führen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1950740</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1950740</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Fri, 10 Sep 2010 10:12:40 GMT</pubDate></item><item><title><![CDATA[Reply to Konstante Parameter on Fri, 10 Sep 2010 10:20:00 GMT]]></title><description><![CDATA[<p>asc schrieb:</p>
<blockquote>
<p>SeppJ schrieb:</p>
<blockquote>
<p>Nein, const gibt nie Performancevorteile...</p>
</blockquote>
<p>Diese Aussage stimmt so nicht ganz. Ja, man kann, und sollte auch nicht davon ausgehen, das const automatisch einen Performancegewinn bedeutet. Aber in bestimmten Bereichen kann es unter Umständen zu Compileroptimierungen führen.</p>
</blockquote>
<p>Danke, so hatte ich das auch in Erinnerung und wollte es nur noch mal bestätigt haben.</p>
<p>Gruß Blue-Tec</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1950746</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1950746</guid><dc:creator><![CDATA[blue-tec]]></dc:creator><pubDate>Fri, 10 Sep 2010 10:20:00 GMT</pubDate></item><item><title><![CDATA[Reply to Konstante Parameter on Fri, 10 Sep 2010 10:26:54 GMT]]></title><description><![CDATA[<p>asc schrieb:</p>
<blockquote>
<p>SeppJ schrieb:</p>
<blockquote>
<p>Nein, const gibt nie Performancevorteile...</p>
</blockquote>
<p>Diese Aussage stimmt so nicht ganz. Ja, man kann, und sollte auch nicht davon ausgehen, das const automatisch einen Performancegewinn bedeutet. Aber in bestimmten Bereichen kann es unter Umständen zu Compileroptimierungen führen.</p>
</blockquote>
<p>Deswegen habe ich die Aussage im nächsten Satz ja auch ein bisschen eingeschränkt. Aber zeig mir einen einzigen Fall außer Compilezeitkonstanten, wo tatsächlich etwas optimiert werden kann. Ganz schön schwer, so etwas zu konstruieren, nicht wahr?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1950749</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1950749</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 10 Sep 2010 10:26:54 GMT</pubDate></item><item><title><![CDATA[Reply to Konstante Parameter on Fri, 10 Sep 2010 10:49:48 GMT]]></title><description><![CDATA[<p>asc schrieb:</p>
<blockquote>
<p>[...] bei Referenzen und Zeigern sehe ich dies wieder ganz anders. Da hat ein const durchaus seinen Sinn, um dem Aufrufer zu zeigen: Ich ändere nichts.</p>
</blockquote>
<p>Stimmt, aber da ist ja auch nicht der Parameter <code>const</code> -qualifiziert, sondern das referenzierte Objekt.</p>
<p>Wir können also festhalten: Top-Level-CV-Qualifizierungen machen in der Schnittstelle der Funktion keinen Sinn.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1950767</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1950767</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Fri, 10 Sep 2010 10:49:48 GMT</pubDate></item><item><title><![CDATA[Reply to Konstante Parameter on Fri, 10 Sep 2010 10:54:42 GMT]]></title><description><![CDATA[<p>volkard:<br />
Den Code verstehe ich überhaupt nicht, was hat das mit der Frage zu tun und wieso versuchst du diesen const Paramter zu ändern und wieso gibt es die lokale Variable s?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1950771</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1950771</guid><dc:creator><![CDATA[Eisflamme]]></dc:creator><pubDate>Fri, 10 Sep 2010 10:54:42 GMT</pubDate></item><item><title><![CDATA[Reply to Konstante Parameter on Fri, 10 Sep 2010 11:05:06 GMT]]></title><description><![CDATA[<p>Eisflamme schrieb:</p>
<blockquote>
<p>volkard:<br />
Den Code verstehe ich überhaupt nicht, was hat das mit der Frage zu tun</p>
</blockquote>
<p>Man schreibt eben gerne mal Funktionen, die die Parameter verändern.</p>
<blockquote>
<p>und wieso versuchst du diesen const Paramter zu ändern</p>
</blockquote>
<p>Unm zu zeigen, daß const hier stört.</p>
<blockquote>
<p>und wieso gibt es die lokale Variable s?</p>
</blockquote>
<p>Altlasten. Zuerst wollte ich was aufsummieren.</p>
<p>Überzeugendere Const-Ist-Quatsch-Beweise würden in diese Richtung <a href="http://pizer.wordpress.com/2009/06/25/c-exploiting-copy-elisions/" rel="nofollow">http://pizer.wordpress.com/2009/06/25/c-exploiting-copy-elisions/</a> gehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1950778</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1950778</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Fri, 10 Sep 2010 11:05:06 GMT</pubDate></item><item><title><![CDATA[Reply to Konstante Parameter on Fri, 10 Sep 2010 11:23:30 GMT]]></title><description><![CDATA[<p>Herb Sutter:</p>
<p>&lt;a href= schrieb:</p>
<blockquote>
<p><a href="http://www.gotw.ca/gotw/006.htm" rel="nofollow">http://www.gotw.ca/gotw/006.htm</a>&quot;&gt;Since the point object is passed by value, there is little or no benefit to declaring it const.<br />
Normally const pass-by-value is unuseful and misleading at best.</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/1950790</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1950790</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Fri, 10 Sep 2010 11:23:30 GMT</pubDate></item><item><title><![CDATA[Reply to Konstante Parameter on Fri, 10 Sep 2010 11:30:51 GMT]]></title><description><![CDATA[<p>Was mir jetzt zu const und Compileroptimierung einfällt ist, dass es doch der Compiler mit Sicherheit merkt ob in einer Funktion/Methode ein Wert verändert wird und dem entsprechend optimiert. Also nimmt das const dann doch mehr die Rolle des Überschreibschutzes ein als die Rolle einer Geschwindigkeitsoptimierung, jedenfalls bei elementaren Datentypen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1950798</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1950798</guid><dc:creator><![CDATA[blue-tec]]></dc:creator><pubDate>Fri, 10 Sep 2010 11:30:51 GMT</pubDate></item><item><title><![CDATA[Reply to Konstante Parameter on Fri, 10 Sep 2010 11:42:16 GMT]]></title><description><![CDATA[<p>blue-tec schrieb:</p>
<blockquote>
<p>Was mir jetzt zu const und Compileroptimierung einfällt ist, dass es doch der Compiler mit Sicherheit merkt ob in einer Funktion/Methode ein Wert verändert wird und dem entsprechend optimiert.</p>
</blockquote>
<p>Wenn der Compiler weiß, das eine Variable innerhalb eines Kontext unveränderlich ist, kann er Annahmen treffen die, die Performace theoretisch beeinflussen können (unabhängig von Compilezeitkonstanten).</p>
<p>Ob das in der Praxis aber eine Auswirkung hat, bleib dahin gestellt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1950805</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1950805</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Fri, 10 Sep 2010 11:42:16 GMT</pubDate></item><item><title><![CDATA[Reply to Konstante Parameter on Fri, 10 Sep 2010 11:43:58 GMT]]></title><description><![CDATA[<p>blue-tec schrieb:</p>
<blockquote>
<p>Was mir jetzt zu const und Compileroptimierung einfällt ist, dass es doch der Compiler mit Sicherheit merkt ob in einer Funktion/Methode ein Wert verändert wird und dem entsprechend optimiert. Also nimmt das const dann doch mehr die Rolle des Überschreibschutzes ein als die Rolle einer Geschwindigkeitsoptimierung, jedenfalls bei elementaren Datentypen.</p>
</blockquote>
<p>Wie du vom ersten Satz auf den zweiten schliesst, ist mir nicht ganz klar. Das klingt für mich eher widersprüchlich.</p>
<p>Wie genau soll der Compiler im allgemeinen Fall bei <code>const</code> optimieren? Bei Referenzen und Zeigern auf <code>const</code> weiss er ja nicht, ob das Originalobjekt tatsächlich <code>const</code> -qualifiziert ist. <code>const_cast</code> ist in einem gewissen Rahmen ebenfalls erlaubt.</p>
<p>Jedenfalls ist es ein Irrglaube, dass <code>const</code> die Performance entscheidend verbessert. Es kann in vereinzelten Fällen vorkommen, aber dass nicht andere Programmteile viel zeitkritischer sind, kommt ziemlich selten vor.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1950806</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1950806</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Fri, 10 Sep 2010 11:43:58 GMT</pubDate></item><item><title><![CDATA[Reply to Konstante Parameter on Fri, 10 Sep 2010 11:52:44 GMT]]></title><description><![CDATA[<p>Um mal zu erklären, warum const selten Optimierung erlaubt, die ohne const nicht da wäre:<br />
a) <code>mutable</code> : Die Möglichkeit, dass eine Klasse mutable Member enthält, lässt keine Möglichkeit zu aus, bloß aus const zu folgern, dass tatsächlich sich nichts verändert.<br />
b) <code>volatile</code> : Siehe oben<br />
c) Wenn sich tatsächlich nichts ändert, sieht das der Compiler direkt am erzeugten Maschinencode, egal ob im ursprünglichen Code einmal const stand oder nicht und kann entsprechend optimieren (Ausnahme: volatile-Member, aber volatile soll ja gerade solche Optimierungen verhindern).</p>
<p><a href="http://www.informit.com/guides/content.aspx?g=cplusplus&amp;seqNum=372" rel="nofollow">http://www.informit.com/guides/content.aspx?g=cplusplus&amp;seqNum=372</a></p>
<p>edit: Da war Nexus schneller als ich. Ob er wohl const-qualifiziert ist? <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1950809</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1950809</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 10 Sep 2010 11:52:44 GMT</pubDate></item><item><title><![CDATA[Reply to Konstante Parameter on Fri, 10 Sep 2010 12:07:48 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>blue-tec schrieb:</p>
<blockquote>
<p>Was mir jetzt zu const und Compileroptimierung einfällt ist, dass es doch der Compiler mit Sicherheit merkt ob in einer Funktion/Methode ein Wert verändert wird und dem entsprechend optimiert. Also nimmt das const dann doch mehr die Rolle des Überschreibschutzes ein als die Rolle einer Geschwindigkeitsoptimierung, jedenfalls bei elementaren Datentypen.</p>
</blockquote>
<p>Wie du vom ersten Satz auf den zweiten schliesst, ist mir nicht ganz klar. Das klingt für mich eher widersprüchlich.</p>
<p>Wie genau soll der Compiler im allgemeinen Fall bei <code>const</code> optimieren? Bei Referenzen und Zeigern auf <code>const</code> weiss er ja nicht, ob das Originalobjekt tatsächlich <code>const</code> -qualifiziert ist. <code>const_cast</code> ist in einem gewissen Rahmen ebenfalls erlaubt.</p>
<p>Jedenfalls ist es ein Irrglaube, dass <code>const</code> die Performance entscheidend verbessert. Es kann in vereinzelten Fällen vorkommen, aber dass nicht andere Programmteile viel zeitkritischer sind, kommt ziemlich selten vor.</p>
</blockquote>
<p>Ich wollte damit ausdrücken dass const nicht zur Steigerung der Performance beträgt sondern eher als ein Schutz gegen ungewolltes Überschreiben da ist.</p>
<p>Ist das bei Objekten aus selbst erstellten Datentypen dann anders?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1950824</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1950824</guid><dc:creator><![CDATA[blue-tec]]></dc:creator><pubDate>Fri, 10 Sep 2010 12:07:48 GMT</pubDate></item><item><title><![CDATA[Reply to Konstante Parameter on Fri, 10 Sep 2010 12:10:55 GMT]]></title><description><![CDATA[<p>blue-tec schrieb:</p>
<blockquote>
<p>Ich wollte damit ausdrücken dass const nicht zur Steigerung der Performance beträgt sondern eher als ein Schutz gegen ungewolltes Überschreiben da ist.</p>
<p>Ist das bei Objekten aus selbst erstellten Datentypen dann anders?</p>
</blockquote>
<p>Eben nicht. Das was du beschreibst ist sogar die eigentliche Aufgabe von const. Eventuelle Performancevorteile die vielleicht unter gewissen Umständen auftauchen könnten, sind ein seltener Nebeneffekt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1950826</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1950826</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 10 Sep 2010 12:10:55 GMT</pubDate></item><item><title><![CDATA[Reply to Konstante Parameter on Fri, 10 Sep 2010 12:42:26 GMT]]></title><description><![CDATA[<p>JnZn558 schrieb:</p>
<blockquote>
<p>ist es eigentlich sinnvoll kontante parameter zu verwenden. z.B.</p>
<pre><code class="language-cpp">int test( const int a, const int b, const int* c ){
   return a + b + *c;
}
</code></pre>
<p>oder lieber const float* const c??</p>
</blockquote>
<p>Hab nicht alle Argumente gelesen, aber ich nehme auch bei ints und floats die ich als copy-parameter bekomme consts. Das hat keinen Performancegrund oder sonstige Gründen sondern nur einen: Fehlervermeidung.<br />
Wie schnell passiert sowas:</p>
<pre><code class="language-cpp">void foo(int a)
{
  if ( a = 1 )
  //....
}
</code></pre>
<p>Klar, es ist vermeidbar etc. Trotzdem habe ich es mir angewöhnt aufgrund genau solcher Fehler und bleibe dabei. Lieber sofort einen Compilerfehler bei sowas als evtl stundenlange Fehlersuche. Ich sehe keinen deutlich messbaren Unterschied zwischen const und nicht const bei dieser Art von Parameter.<br />
rya.</p>
<p>ps.:<br />
Bei Klassen und Referenzen spielen natürlich andere Gründe noch mit eine Rolle wie eben Performance, weil eine Referenz von einer 3-4 MB großen liste schneller übergeben ist als eine Kopie etc.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1950855</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1950855</guid><dc:creator><![CDATA[scorcher24@public.pc]]></dc:creator><pubDate>Fri, 10 Sep 2010 12:42:26 GMT</pubDate></item><item><title><![CDATA[Reply to Konstante Parameter on Fri, 10 Sep 2010 12:51:36 GMT]]></title><description><![CDATA[<p>scorcher24@public.pc schrieb:</p>
<blockquote>
<p>Hab nicht alle Argumente gelesen, aber ich nehme auch bei ints und floats die ich als copy-parameter bekomme consts. Das hat keinen Performancegrund oder sonstige Gründen sondern nur einen: Fehlervermeidung.<br />
Wie schnell passiert sowas:</p>
</blockquote>
<p>Das ist okay, solange du in der Schnittstelle (Deklaration im Header) das <code>const</code> weglässt. Dort hat es nämlich definitiv nichts zu suchen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1950864</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1950864</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Fri, 10 Sep 2010 12:51:36 GMT</pubDate></item><item><title><![CDATA[Reply to Konstante Parameter on Fri, 10 Sep 2010 12:55:15 GMT]]></title><description><![CDATA[<p>Warum nicht, wenn ich fragen darf?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1950867</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1950867</guid><dc:creator><![CDATA[blue-tec]]></dc:creator><pubDate>Fri, 10 Sep 2010 12:55:15 GMT</pubDate></item><item><title><![CDATA[Reply to Konstante Parameter on Fri, 10 Sep 2010 12:58:32 GMT]]></title><description><![CDATA[<p>blue-tec schrieb:</p>
<blockquote>
<p>Warum nicht, wenn ich fragen darf?</p>
</blockquote>
<p>Weil es sich um ein Implementierungsdetail handelt.</p>
<p>Der Aufrufer hat rein gar keinen Nutzen davon, wenn er weiss, ob die Kopie von der Funktion verändert wird oder nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1950871</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1950871</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Fri, 10 Sep 2010 12:58:32 GMT</pubDate></item><item><title><![CDATA[Reply to Konstante Parameter on Fri, 10 Sep 2010 13:14:55 GMT]]></title><description><![CDATA[<p>blue-tec schrieb:</p>
<blockquote>
<p>Warum nicht, wenn ich fragen darf?</p>
</blockquote>
<p>Grundsätzlich bin ich ein starker Verfechter von const-correctness, aber unnötige const gehören nicht dazu. Man sollte man eine Schnittstelle nur mit &quot;Nutzwert&quot; füllen, und nicht mit unnötigen Code aufblähen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1950883</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1950883</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Fri, 10 Sep 2010 13:14:55 GMT</pubDate></item><item><title><![CDATA[Reply to Konstante Parameter on Fri, 10 Sep 2010 13:47:38 GMT]]></title><description><![CDATA[<p>Ich verstehe...da fällt mir noch eine Frage ein wenn es um die Deklaration geht. Ich habe schon einige Sourcecodes gesehen in dem auch nicht die Bezeichner bei den Methodenargumenten mit angegeben werden sondern nur die Datentypen. Was haltet ihr davon?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1950900</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1950900</guid><dc:creator><![CDATA[blue-tec]]></dc:creator><pubDate>Fri, 10 Sep 2010 13:47:38 GMT</pubDate></item></channel></rss>