<?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[funktionsrückgabe]]></title><description><![CDATA[<p>Hey,<br />
bei folgendem Code bekomme ich eine Fehlermeldung das ich eine lokale Variable zurückgebe! Ich weiß das geht mit static weg, aber warum braucht man static hier? ich meine omg gibt den richtigen wert aus.<br />
Außerdem wollte ich fragen ob es besser ist bei der Rückgabe<br />
int&amp; oder int zurückzugeben( also copie oder referenz). Was benutzt ihr standardmäßig?<br />
Danke</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

using namespace std;

int&amp; ifunc( int &amp;i );

int main()
{
   int _20 = 20;
   int omg = ifunc( _20 );
   cout &lt;&lt; omg &lt;&lt; endl;
   system(&quot;PAUSE&quot;);
   return 0;
}

int&amp; ifunc( int &amp;i )
{
   int op1 = 20;
   int erg = op1 + i;
   return erg;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/218866/funktionsrückgabe</link><generator>RSS for Node</generator><lastBuildDate>Thu, 08 Oct 2026 18:24:49 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/218866.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 26 Jul 2008 15:44:16 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to funktionsrückgabe on Sat, 26 Jul 2008 15:44:16 GMT]]></title><description><![CDATA[<p>Hey,<br />
bei folgendem Code bekomme ich eine Fehlermeldung das ich eine lokale Variable zurückgebe! Ich weiß das geht mit static weg, aber warum braucht man static hier? ich meine omg gibt den richtigen wert aus.<br />
Außerdem wollte ich fragen ob es besser ist bei der Rückgabe<br />
int&amp; oder int zurückzugeben( also copie oder referenz). Was benutzt ihr standardmäßig?<br />
Danke</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

using namespace std;

int&amp; ifunc( int &amp;i );

int main()
{
   int _20 = 20;
   int omg = ifunc( _20 );
   cout &lt;&lt; omg &lt;&lt; endl;
   system(&quot;PAUSE&quot;);
   return 0;
}

int&amp; ifunc( int &amp;i )
{
   int op1 = 20;
   int erg = op1 + i;
   return erg;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1554042</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1554042</guid><dc:creator><![CDATA[MaRkus1]]></dc:creator><pubDate>Sat, 26 Jul 2008 15:44:16 GMT</pubDate></item><item><title><![CDATA[Reply to funktionsrückgabe on Sat, 26 Jul 2008 15:52:19 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">#include &lt;iostream&gt;

using namespace std;

int&amp; ifunc( int &amp;i );

int main()
{
   int _20 = 20;
   int&amp; omg = ifunc( _20 ); // &amp; ergänzt, sonst wäre es sinnlos ;)
   cout &lt;&lt; omg &lt;&lt; endl; // Zugriff auf ein zerstörtes Objekt!
   system(&quot;PAUSE&quot;);
   return 0;
}

int&amp; ifunc( int &amp;i )
{
   int op1 = 20;
   int erg = op1 + i;
   return erg;
} // erg wird hier zerstört!
</code></pre>
<p>Bei static bleibt das Objekt bestehen über alle Funktionsaufrufe hinweg, daher kann man eine Referenz zurückgeben.</p>
<p>Ich verwende bei primitiven Typen kaum Referenzen. Der Grund ist eigentlich simpel, eine Referenz zu übergeben bei einem primitiven Typen ist genauso oder gar aufwendiger als eine Kopie. Ich verwende Referenzen bei primitiven Typen wirklich nur dann, wenn man sie irgendwie verändern will und dann eigentlich nur als Funktionsparameter.</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1554050</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1554050</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Sat, 26 Jul 2008 15:52:19 GMT</pubDate></item><item><title><![CDATA[Reply to funktionsrückgabe on Sat, 26 Jul 2008 16:01:18 GMT]]></title><description><![CDATA[<p>ok danke<br />
Das heißt in der Praxis bei der Funktionsübergabe &amp; verwenden weil das schneller ist als Kopieren aber bei rückgabe kann man unbesorgt kopieren?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1554060</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1554060</guid><dc:creator><![CDATA[MaRkus1]]></dc:creator><pubDate>Sat, 26 Jul 2008 16:01:18 GMT</pubDate></item></channel></rss>