<?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 Unterschiede]]></title><description><![CDATA[<p>Immer wieder lese ich verschiedene Varianten mit dem Schlüsselwort const. Wo ist der Unterschied zwischen der ersten und zweiten Version?</p>
<p>Version 1</p>
<pre><code>void test(std::string const testString)
{
	std::cout &lt;&lt; testString;
}
</code></pre>
<p>Vesion 2</p>
<pre><code>void test(const std::string testString)
{
	std::cout &lt;&lt; testString;
}
</code></pre>
<p>Haben die beiden Schreibweisen überhaupt einen Unterschied? In der Funktion kann ich testString zumindest bei beiden Versionen nicht modifizieren, das ist ja auch der Sinn von const.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/316607/const-unterschiede</link><generator>RSS for Node</generator><lastBuildDate>Wed, 29 Jul 2026 20:48:51 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/316607.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 09 May 2013 22:35:07 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to const Unterschiede on Thu, 09 May 2013 22:35:07 GMT]]></title><description><![CDATA[<p>Immer wieder lese ich verschiedene Varianten mit dem Schlüsselwort const. Wo ist der Unterschied zwischen der ersten und zweiten Version?</p>
<p>Version 1</p>
<pre><code>void test(std::string const testString)
{
	std::cout &lt;&lt; testString;
}
</code></pre>
<p>Vesion 2</p>
<pre><code>void test(const std::string testString)
{
	std::cout &lt;&lt; testString;
}
</code></pre>
<p>Haben die beiden Schreibweisen überhaupt einen Unterschied? In der Funktion kann ich testString zumindest bei beiden Versionen nicht modifizieren, das ist ja auch der Sinn von const.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2322329</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2322329</guid><dc:creator><![CDATA[dasfrageichmich]]></dc:creator><pubDate>Thu, 09 May 2013 22:35:07 GMT</pubDate></item><item><title><![CDATA[Reply to const Unterschiede on Thu, 09 May 2013 23:06:06 GMT]]></title><description><![CDATA[<p>Kein Unterschied.</p>
<p>Bei Zeigern zum Beispiel spielt es aber eine Rolle, ob das <code>const</code> links oder rechts vom <code>*</code> steht.</p>
<pre><code>const int* // Zeiger auf konstantes int
int const* // Zeiger auf konstantes int
int* const // Konstanter Zeiger auf int
</code></pre>
<p>Übrigens: Beide Beispiele in deinem Post sind Unsinn. Wenn schon, würde man den String als <code>const std::string&amp;</code> (d.h. Referenz auf konstanten String) übergeben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2322332</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2322332</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Thu, 09 May 2013 23:06:06 GMT</pubDate></item><item><title><![CDATA[Reply to const Unterschiede on Thu, 09 May 2013 23:17:07 GMT]]></title><description><![CDATA[<p>Ja, beide Versionen sind gleich.</p>
<p>Der Unterschied ist tatsächlich Geschmackssache, ob der <em>cv-qualifier</em> vor oder hinter dem eigentlichen Typ steht.</p>
<pre><code>int const i = 0;
const int i2 = 0;
</code></pre>
<p>Genauso verhält es sich für Funktionsparameter.</p>
<p>Es ist aber vielleicht schlauer das <code>const</code> der Übersichtlichkeit halber dahinter zu schreiben (das mit den Zeigern kann dann nämlich verständlicher werden).<br />
Dabei gilt die <strong>Rechts nach Links</strong> Regel:</p>
<pre><code>int const* const; // Von Rechts nach Links: Konstanter Zeiger auf konstantes Objekt vom Typ int
</code></pre>
<p>Wie Nexus bereits beschrieben hat: Bei Zeigern ist es ein wenig anders:</p>
<p>N3337 [dcl.ptr]/1 schrieb:</p>
<blockquote>
<p>In a declaration T D where D has the form<br />
* attribute-specifier-seq<sub>opt</sub> cv-qualifier-seq<sub>opt</sub>D1<br />
[...] <strong>The cv-qualifiers apply to the pointer and not to the object pointed to.</strong></p>
</blockquote>
<p>Edit: Ein paar Kommas entfernt <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/2322333</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2322333</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Thu, 09 May 2013 23:17:07 GMT</pubDate></item><item><title><![CDATA[Reply to const Unterschiede on Thu, 09 May 2013 23:19:28 GMT]]></title><description><![CDATA[<p>Eine schöne Erklärung des const Wirrwarrs findet sich <a href="http://duramecho.com/ComputerInformation/WhyHowCppConst.html" rel="nofollow">hier</a>.<br />
Mit C++11 kam noch das schöne <a href="http://www.cprogramming.com/c++11/c++11-compile-time-processing-with-constexpr.html" rel="nofollow">constexpr</a>.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2322334</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2322334</guid><dc:creator><![CDATA[Youka]]></dc:creator><pubDate>Thu, 09 May 2013 23:19:28 GMT</pubDate></item><item><title><![CDATA[Reply to const Unterschiede on Thu, 09 May 2013 23:28:17 GMT]]></title><description><![CDATA[<p>Youka schrieb:</p>
<blockquote>
<p>Eine schöne Erklärung des const Wirrwarrs findet sich <a href="http://duramecho.com/ComputerInformation/WhyHowCppConst.html" rel="nofollow">hier</a>.<br />
Mit C++11 kam noch das schöne <a href="http://www.cprogramming.com/c++11/c++11-compile-time-processing-with-constexpr.html" rel="nofollow">constexpr</a>.</p>
</blockquote>
<p>Der erste Link besteht eigentlich nur aus const-Bashing, keines der gebrachten Argumente ist wirklich schlüssig.</p>
<p>const vs constexpr ist Äpfel vs Birnen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2322336</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2322336</guid><dc:creator><![CDATA[Wirrwarrs]]></dc:creator><pubDate>Thu, 09 May 2013 23:28:17 GMT</pubDate></item><item><title><![CDATA[Reply to const Unterschiede on Thu, 09 May 2013 23:32:22 GMT]]></title><description><![CDATA[<p>Youka schrieb:</p>
<blockquote>
<p>Eine schöne Erklärung des const Wirrwarrs findet sich <a href="http://duramecho.com/ComputerInformation/WhyHowCppConst.html" rel="nofollow">hier</a>.</p>
</blockquote>
<p>Einige sachliche Fehler, &quot;messy&quot; in jedem dritten Satz. Warum jemand einen solchen Artikel schreiben wollte, erschliesst sich mir nicht. Ich habe mir nur den Anfang und den Schluss durchgelesen. Letzterer macht keinen Sinn, jedenfalls wird nicht klar, worauf der Autor eigentlich hinaus will. Nicht empfehlenswert imo.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2322338</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2322338</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Thu, 09 May 2013 23:32:22 GMT</pubDate></item></channel></rss>