<?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[Casting]]></title><description><![CDATA[<p>huhu ihrs</p>
<p>worin liegt der Unterschied zwischen beiden folgenden casts ?</p>
<pre><code class="language-cpp">int u = 7;
int i;
i = (int&amp;)u;
i = (int) u;
</code></pre>
<p>danke euch <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/260215/casting</link><generator>RSS for Node</generator><lastBuildDate>Tue, 08 Sep 2026 10:28:55 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/260215.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 02 Feb 2010 12:40:43 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Casting on Tue, 02 Feb 2010 12:40:43 GMT]]></title><description><![CDATA[<p>huhu ihrs</p>
<p>worin liegt der Unterschied zwischen beiden folgenden casts ?</p>
<pre><code class="language-cpp">int u = 7;
int i;
i = (int&amp;)u;
i = (int) u;
</code></pre>
<p>danke euch <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/1849120</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1849120</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 02 Feb 2010 12:40:43 GMT</pubDate></item><item><title><![CDATA[Reply to Casting on Tue, 02 Feb 2010 12:51:53 GMT]]></title><description><![CDATA[<p>Dweb schrieb:</p>
<blockquote>
<p>huhu ihrs</p>
<p>worin liegt der Unterschied zwischen beiden folgenden casts ?</p>
<pre><code class="language-cpp">int u = 7;
int i;
i = (int&amp;)u;
i = (int) u;
</code></pre>
<p>danke euch <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>Beide casts sind unnötig. (int&amp;) ist sogar ein Fehler - du versuchst einen int in eie Referenz<br />
auf int zu casten und übergibst das an einen int - ist wiegesagt Quatsch.<br />
<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>
]]></description><link>https://www.c-plusplus.net/forum/post/1849129</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1849129</guid><dc:creator><![CDATA[Wilma]]></dc:creator><pubDate>Tue, 02 Feb 2010 12:51:53 GMT</pubDate></item><item><title><![CDATA[Reply to Casting on Tue, 02 Feb 2010 13:03:06 GMT]]></title><description><![CDATA[<p>joa quatsch ist es schon, wollte nur wissen wir man das Interpretiert, das hast du ja auch dann geschriebn <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>Wilma schrieb:</p>
<blockquote>
<p>Einen int in eine Referenz auf int zu casten.</p>
</blockquote>
<p>Die Frage hab ich mir deswegen gestellt:</p>
<pre><code class="language-cpp">const int ci = 7;
int&amp; ri  = const_cast&lt;int&amp;&gt;(ci);    // geht
int&amp; ri2 = const_cast&lt;int&gt; (ci);    // geht nicht
</code></pre>
<p>Darum wollt ich wissen worin der Unterschlied liegt^^<br />
Bzw. wieso geht 2teres nicht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1849135</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1849135</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 02 Feb 2010 13:03:06 GMT</pubDate></item><item><title><![CDATA[Reply to Casting on Tue, 02 Feb 2010 13:43:24 GMT]]></title><description><![CDATA[<p>Dann haettest du gleich die richtige Frage stellen sollen. Ausgangsbeispiel und dein eigentliches Problem unterscheiden sich doch sehr. Mittels const_cast castet man das const weg, man kann nicht zwischen Typen umwandeln a la int -&gt; int&amp; .</p>
<blockquote>
<p>quatsch ist es schon, wollte nur wissen wir man das Interpretiert</p>
</blockquote>
<p>Man interpretiert es als das, was es ist: Quatsch. Dumme Frage ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1849137</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1849137</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Tue, 02 Feb 2010 13:43:24 GMT</pubDate></item><item><title><![CDATA[Reply to Casting on Tue, 02 Feb 2010 13:16:18 GMT]]></title><description><![CDATA[<blockquote>
<p>&gt; int&amp; ri2 = const_cast&lt;int&gt; (ci); // geht nicht</p>
</blockquote>
<p>Das geht nicht, da dieser cast ein temporäres Objekt vom Typ Integer zurückgibt. Temporäre Objekte können aber nicht an Lvalue-Referenzen gebunden werden.</p>
<p>Edit: Fortsetzung: Da das Objekt am Ende des Befehls gelöscht wird. Somit würde die Referenz auf ein Objekt zeigen, dass es nicht mehr gibt. Deshalb verbietet es der Compiler gleich ganz. Vorsicht: Zeiger bieten diesen Schutz AFAIK nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1849141</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1849141</guid><dc:creator><![CDATA[Ad aCTa]]></dc:creator><pubDate>Tue, 02 Feb 2010 13:16:18 GMT</pubDate></item><item><title><![CDATA[Reply to Casting on Tue, 02 Feb 2010 13:16:40 GMT]]></title><description><![CDATA[<p>ah k thx @ Ad aCTa <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/1849146</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1849146</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 02 Feb 2010 13:16:40 GMT</pubDate></item><item><title><![CDATA[Reply to Casting on Tue, 02 Feb 2010 13:14:12 GMT]]></title><description><![CDATA[<p>Das steht direkt über dir...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1849148</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1849148</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Tue, 02 Feb 2010 13:14:12 GMT</pubDate></item><item><title><![CDATA[Reply to Casting on Tue, 02 Feb 2010 13:20:40 GMT]]></title><description><![CDATA[<p>Ad aCTa schrieb:</p>
<blockquote>
<p>Vorsicht: Zeiger bieten diesen Schutz AFAIK nicht.</p>
</blockquote>
<p>Echt? Ich hätte jetzt glatt gedacht, daß temporäre Objekte auch keine Adresse haben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1849151</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1849151</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Tue, 02 Feb 2010 13:20:40 GMT</pubDate></item><item><title><![CDATA[Reply to Casting on Tue, 02 Feb 2010 13:21:15 GMT]]></title><description><![CDATA[<p>In dem Fall wäre als Adresse einfach der Wert des Ints genommen worden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1849153</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1849153</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Tue, 02 Feb 2010 13:21:15 GMT</pubDate></item><item><title><![CDATA[Reply to Casting on Tue, 02 Feb 2010 13:44:44 GMT]]></title><description><![CDATA[<p>volkard schrieb:</p>
<blockquote>
<p>Ad aCTa schrieb:</p>
<blockquote>
<p>Vorsicht: Zeiger bieten diesen Schutz AFAIK nicht.</p>
</blockquote>
<p>Echt? Ich hätte jetzt glatt gedacht, daß temporäre Objekte auch keine Adresse haben.</p>
</blockquote>
<p><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="😃"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1849166</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1849166</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Tue, 02 Feb 2010 13:44:44 GMT</pubDate></item><item><title><![CDATA[Reply to Casting on Tue, 02 Feb 2010 13:55:29 GMT]]></title><description><![CDATA[<p>Wilma schrieb:</p>
<blockquote>
<p>Beide casts sind unnötig. (int&amp;) ist sogar ein Fehler - du versuchst einen int in eie Referenz<br />
auf int zu casten und übergibst das an einen int - ist wiegesagt Quatsch.<br />
<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>Steht der Smiley für Ironie? Was du sagst, stimmt jedenfalls nicht. Wenn man eine Referenz auf int nicht an int zuweisen könnte, wie sollte man denn dann jemals wieder auf den Wert, auf den die Referenz zeigt, zugreifen können?</p>
<p><code>(int)u</code> castet den Wert (R-Value) von u in den Typ int und erzeugt wieder einen Wert (R-Value). Diese kann man ganz einfach einem anderen int zuweisen.</p>
<p><code>(int&amp;)u</code> castet den <strong>Ort</strong> (L-Value) von u in den Typ int&amp; und erzeugt damit einen L-Value. Das heißt, man könnte das Ergebnis an eine Referenz zuweisen ( <code>int&amp; r = (int&amp;)u;</code> ), man könnte seine Adresse nehmen ( <code>int* p = &amp;(int&amp;)u;</code> ), man könnte es auf die linke Seite einer Zuweisung stellen ( <code>(int&amp;)u = 42;</code> ). Und man kann selbstverständlich den L-Value in einen R-Value konvertieren (explizit: <code>(int)(int&amp;)u</code> oder implizit: <code>int i = (int&amp;)u;</code> ).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1849174</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1849174</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Tue, 02 Feb 2010 13:55:29 GMT</pubDate></item></channel></rss>