<?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[Returnwert von &amp;quot;int fkt(){}&amp;quot; ?]]></title><description><![CDATA[<p>heyho,</p>
<p>folgendes Bsp.:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

int fkt()
{
    int ret = 7;
    return ret;
}

int main()
{
    fkt() = 123;

    system(&quot;pause&gt;nul&quot;);
    return 0;
}
</code></pre>
<p>Ich dachte immer, wenn ich &quot;return ret&quot; mache wird eine Kopie von &quot;ret&quot; erstellt und diese dann zurückgegeben,<br />
wie auch bei abstrakte Datentypen.</p>
<p>Wenn ich nun aber &quot;fkt() = 123&quot; mache, dann bekomm ich eine Fehlermeldung, dass fkt() einen non-lvalue zurückgibt.</p>
<p>Heißt das, dass bei vordefinierten Datentypen in so einem Fall der Variableninhalt, also einfach &quot;7&quot; zurückgegebn wird?</p>
<p>Wenn dem so ist, dann ist ja</p>
<pre><code class="language-cpp">const int fkt(){...}
</code></pre>
<p>das const immer Schwachsinn oder?</p>
<p>thx schonma <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="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/262685/returnwert-von-quot-int-fkt-quot</link><generator>RSS for Node</generator><lastBuildDate>Sun, 06 Sep 2026 12:09:07 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/262685.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 09 Mar 2010 20:19:08 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Returnwert von &amp;quot;int fkt(){}&amp;quot; ? on Tue, 09 Mar 2010 20:19:08 GMT]]></title><description><![CDATA[<p>heyho,</p>
<p>folgendes Bsp.:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

int fkt()
{
    int ret = 7;
    return ret;
}

int main()
{
    fkt() = 123;

    system(&quot;pause&gt;nul&quot;);
    return 0;
}
</code></pre>
<p>Ich dachte immer, wenn ich &quot;return ret&quot; mache wird eine Kopie von &quot;ret&quot; erstellt und diese dann zurückgegeben,<br />
wie auch bei abstrakte Datentypen.</p>
<p>Wenn ich nun aber &quot;fkt() = 123&quot; mache, dann bekomm ich eine Fehlermeldung, dass fkt() einen non-lvalue zurückgibt.</p>
<p>Heißt das, dass bei vordefinierten Datentypen in so einem Fall der Variableninhalt, also einfach &quot;7&quot; zurückgegebn wird?</p>
<p>Wenn dem so ist, dann ist ja</p>
<pre><code class="language-cpp">const int fkt(){...}
</code></pre>
<p>das const immer Schwachsinn oder?</p>
<p>thx schonma <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="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1866713</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1866713</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 09 Mar 2010 20:19:08 GMT</pubDate></item><item><title><![CDATA[Reply to Returnwert von &amp;quot;int fkt(){}&amp;quot; ? on Tue, 09 Mar 2010 20:20:29 GMT]]></title><description><![CDATA[<p>Ja, das const ist immer Schwachsinn <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="🙂"
    /></p>
<p>Es wird eine Kopie erstellt, aber die ist laut Sprachdefinition ein R-Value, kann also nur rechts vom = stehen. Damit so sinnlose Sachen erst gar nicht gemacht werden. Da kann man dann mit den Registern schneller und so.</p>
<p>MfG SideWinder</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1866714</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1866714</guid><dc:creator><![CDATA[SideWinder]]></dc:creator><pubDate>Tue, 09 Mar 2010 20:20:29 GMT</pubDate></item><item><title><![CDATA[Reply to Returnwert von &amp;quot;int fkt(){}&amp;quot; ? on Tue, 09 Mar 2010 20:23:00 GMT]]></title><description><![CDATA[<p>Das Problem da ist, ist, dass ein Funktionsaufruf keine Variable, sondern ein Ausdruck darstellt. Und einem Ausdruck etwas zuweisen macht nicht viel Sinn.</p>
<p>Das hier macht ja auch nicht viel Sinn:</p>
<pre><code class="language-cpp">7 = 5;
</code></pre>
<p>In beiden Fällen haben wir es mit einem R-value zu tun, wo du sinnvollerweise nichts zuweisen kannst.</p>
<p>In deinem Beispiel macht es keinen Sinn ja. Allerdings muss da immer der Typ ebenfalls beachtet werden, wenn man da einen allgmeinen Schluss draus ziehen will.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1866715</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1866715</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Tue, 09 Mar 2010 20:23:00 GMT</pubDate></item><item><title><![CDATA[Reply to Returnwert von &amp;quot;int fkt(){}&amp;quot; ? on Tue, 09 Mar 2010 20:38:58 GMT]]></title><description><![CDATA[<p>drakon schrieb:</p>
<blockquote>
<p>Und einem Ausdruck etwas zuweisen macht nicht viel Sinn.</p>
</blockquote>
<p>Und Unsterbliche heben verlorene Kinder mit feurigen Armen zum Himmel empor. Was ist mit</p>
<pre><code class="language-cpp">a[b] = c;
</code></pre>
<p>Das macht nicht viel Sinn?<br />
<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="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1866724</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1866724</guid><dc:creator><![CDATA[µngbd]]></dc:creator><pubDate>Tue, 09 Mar 2010 20:38:58 GMT</pubDate></item><item><title><![CDATA[Reply to Returnwert von &amp;quot;int fkt(){}&amp;quot; ? on Tue, 09 Mar 2010 20:40:58 GMT]]></title><description><![CDATA[<p>a[b] ist aber auch kein R-Value wie 7 oder fkt()</p>
<p>MfG SideWinder</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1866726</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1866726</guid><dc:creator><![CDATA[SideWinder]]></dc:creator><pubDate>Tue, 09 Mar 2010 20:40:58 GMT</pubDate></item><item><title><![CDATA[Reply to Returnwert von &amp;quot;int fkt(){}&amp;quot; ? on Tue, 09 Mar 2010 21:08:38 GMT]]></title><description><![CDATA[<p>Dweb schrieb:</p>
<blockquote>
<p>Wenn ich nun aber &quot;fkt() = 123&quot; mache, dann bekomm ich eine Fehlermeldung, dass fkt() einen non-lvalue zurückgibt.</p>
</blockquote>
<p>Geht doch</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

int i;
int &amp;fkt()
{
   return i;
}

int main()
{
   fkt() = 123;       // &lt;---  :open_mouth: 
   std::cout &lt;&lt; i;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1866734</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1866734</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 09 Mar 2010 21:08:38 GMT</pubDate></item><item><title><![CDATA[Reply to Returnwert von &amp;quot;int fkt(){}&amp;quot; ? on Tue, 09 Mar 2010 21:26:19 GMT]]></title><description><![CDATA[<p>µngbd schrieb:</p>
<blockquote>
<pre><code class="language-cpp">a[b] = c;
</code></pre>
<p>Das macht nicht viel Sinn?<br />
<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="🙂"
    /></p>
</blockquote>
<p>wenn a,b,c variablen vom typ int sind, sind nur die Namen doof gewählt.<br />
Im Context könnte das sehr viel Sinn machen ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1866743</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1866743</guid><dc:creator><![CDATA[5cript]]></dc:creator><pubDate>Tue, 09 Mar 2010 21:26:19 GMT</pubDate></item></channel></rss>