<?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[Frage zu const Rückgabewert]]></title><description><![CDATA[<p>Hallo, ich bin neu in C++ und habe eine Frage zu const Rückgabewerten. Gibt es einen unterschied zwschen folgenden zwei Funktionen?</p>
<pre><code class="language-cpp">const int funktion(int a)
{
	//etwas mit a machen
	return a;
}

int funktion(int a)
{
	//etwas mit a machen
	return a;
}
</code></pre>
<p>Ich frage deshalb, weil ja beide Rückgabewerte nicht als LValue dienen können und nur &quot;temporär&quot; erhalten bleiben.<br />
Gibt es einen Unterschied zwischen beiden Return Werten? Wirkt sich das in irgendeiner Weise auf die Performance aus (in umfangreicheren Funktionen natürlich <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="😉"
    /> )? Und welche Variante wird meistens genutzt (reine Stilfrage?) ?</p>
<p>Mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/239870/frage-zu-const-rückgabewert</link><generator>RSS for Node</generator><lastBuildDate>Tue, 22 Sep 2026 06:52:31 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/239870.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 29 Apr 2009 01:12:03 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Frage zu const Rückgabewert on Wed, 29 Apr 2009 01:12:03 GMT]]></title><description><![CDATA[<p>Hallo, ich bin neu in C++ und habe eine Frage zu const Rückgabewerten. Gibt es einen unterschied zwschen folgenden zwei Funktionen?</p>
<pre><code class="language-cpp">const int funktion(int a)
{
	//etwas mit a machen
	return a;
}

int funktion(int a)
{
	//etwas mit a machen
	return a;
}
</code></pre>
<p>Ich frage deshalb, weil ja beide Rückgabewerte nicht als LValue dienen können und nur &quot;temporär&quot; erhalten bleiben.<br />
Gibt es einen Unterschied zwischen beiden Return Werten? Wirkt sich das in irgendeiner Weise auf die Performance aus (in umfangreicheren Funktionen natürlich <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="😉"
    /> )? Und welche Variante wird meistens genutzt (reine Stilfrage?) ?</p>
<p>Mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1702922</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1702922</guid><dc:creator><![CDATA[Anfänger _)]]></dc:creator><pubDate>Wed, 29 Apr 2009 01:12:03 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu const Rückgabewert on Wed, 29 Apr 2009 01:34:11 GMT]]></title><description><![CDATA[<p>Anfänger _) schrieb:</p>
<blockquote>
<p>Gibt es einen Unterschied zwischen beiden Return Werten?</p>
</blockquote>
<p>Da die Rückgabewerte keine Zeiger oder Referenzen sind, nein, sie werden nach der Rückgabe ja selbst kopiert.</p>
<p>Anfänger _) schrieb:</p>
<blockquote>
<p>Wirkt sich das in irgendeiner Weise auf die Performance aus (in umfangreicheren Funktionen natürlich <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>
</blockquote>
<p>Ich denke nicht das das eine Auswirkungen hat. const wird vom Compiler geprüft, inwiefern es irgendeine Bedeutung zur Laufzeit hat müsste mal jemand anders sagen der mehr Ahnung davon hat.</p>
<p>Anfänger _) schrieb:</p>
<blockquote>
<p>Und welche Variante wird meistens genutzt (reine Stilfrage?) ?</p>
</blockquote>
<p>Ich nutze die Variante ohne const imer, da das const durch die Kopie bedeutungslos ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1702923</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1702923</guid><dc:creator><![CDATA[Xebov]]></dc:creator><pubDate>Wed, 29 Apr 2009 01:34:11 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu const Rückgabewert on Wed, 29 Apr 2009 05:50:17 GMT]]></title><description><![CDATA[<p>Xebov schrieb:</p>
<blockquote>
<p>Da die Rückgabewerte keine Zeiger oder Referenzen sind, nein, sie werden nach der Rückgabe ja selbst kopiert.</p>
</blockquote>
<p>nicht zwangsläufig:</p>
<pre><code class="language-cpp">void foo(int&amp; bla)
{ bla += 5; }

const int bar()
{ return 6; }

int main()
{
  foo(bar());
}
</code></pre>
<p>compiliert nicht, weil der konstante Rückgabewert nicht an eine nichtkonstante Referenz gebunden werden kann.</p>
<pre><code class="language-cpp">struct Z
{
  int i;
  Z&amp; bar()
  { i +=4; return *this; }
  void baz()
  { cout &lt;&lt; i &lt;&lt; endl; }
};

const Z foo()
{
  Z z; z.i = 1; return z;
}

int main()
{
  foo().bar().baz();
}
</code></pre>
<p>compiliert auch nur wegen des const nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1702947</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1702947</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Wed, 29 Apr 2009 05:50:17 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu const Rückgabewert on Wed, 29 Apr 2009 14:22:57 GMT]]></title><description><![CDATA[<p>pumuckl schrieb:</p>
<blockquote>
<p>nicht zwangsläufig:</p>
<pre><code class="language-cpp">void foo(int&amp; bla)
{ bla += 5; }

const int bar()
{ return 6; }

int main()
{
  foo(bar());
}
</code></pre>
<p>compiliert nicht, weil der konstante Rückgabewert nicht an eine nichtkonstante Referenz gebunden werden kann.</p>
</blockquote>
<p>Nein, nicht deswegen. Sondern weil ein RValue nicht an eine Non-Const-Referenz (die aber sehr wohl konstant ist) gebunden werden kann.</p>
<pre><code class="language-cpp">int bar()
{ return 6; }
</code></pre>
<p>Ginge ebenso nicht.</p>
<p>Bei skalaren Typen macht es keinen Unterschied, ob der Rückgabewert <code>const</code> -qualifiziert ist oder nicht (RValues von skalaren Typen können grundsätzlich nicht verändert werden).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1703189</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1703189</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Wed, 29 Apr 2009 14:22:57 GMT</pubDate></item></channel></rss>