<?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[Unterschied zw. (Cast)Typ und reinterptet_cast&amp;lt;cast&amp;gt;Typ]]></title><description><![CDATA[<p>Hallo zusammen!<br />
Es gibt in C/C++ einen Begriff &quot;Cast&quot;, über dessen Bedeutung ich mir<br />
nicht so ganz im klaren bin:</p>
<p>Wenn man zum Beispiel eine Integervariable in eine Floatvariable umformen will, so verwendet man :</p>
<p>funktion_mit_float_parameter((float)integer);</p>
<p>Aber es gibt auch jede Menge andere Casts ?!</p>
<p>reinterpret_cast&lt;&gt;<br />
static_cast&lt;&gt;<br />
dynamic_cast&lt;&gt;<br />
const_cast&lt;&gt;</p>
<p>Was mach man denn damit ? Alle Experimente diese Casts in mein Programm einzubauen endeten in einem Compilerdisaster:<br />
&quot;Kann &quot;LPDIRECTINPUTDEVICE8 **&quot; nicht in &quot;LPDIRECTINPUTDEVICE8 _w64 **&quot; konvertieren&quot;</p>
<p>oder so.<br />
Danke für alle Antworten <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/262004/unterschied-zw-cast-typ-und-reinterptet_cast-lt-cast-gt-typ</link><generator>RSS for Node</generator><lastBuildDate>Sun, 06 Sep 2026 21:48:01 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/262004.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 26 Feb 2010 21:41:22 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Unterschied zw. (Cast)Typ und reinterptet_cast&amp;lt;cast&amp;gt;Typ on Fri, 26 Feb 2010 21:42:00 GMT]]></title><description><![CDATA[<p>Hallo zusammen!<br />
Es gibt in C/C++ einen Begriff &quot;Cast&quot;, über dessen Bedeutung ich mir<br />
nicht so ganz im klaren bin:</p>
<p>Wenn man zum Beispiel eine Integervariable in eine Floatvariable umformen will, so verwendet man :</p>
<p>funktion_mit_float_parameter((float)integer);</p>
<p>Aber es gibt auch jede Menge andere Casts ?!</p>
<p>reinterpret_cast&lt;&gt;<br />
static_cast&lt;&gt;<br />
dynamic_cast&lt;&gt;<br />
const_cast&lt;&gt;</p>
<p>Was mach man denn damit ? Alle Experimente diese Casts in mein Programm einzubauen endeten in einem Compilerdisaster:<br />
&quot;Kann &quot;LPDIRECTINPUTDEVICE8 **&quot; nicht in &quot;LPDIRECTINPUTDEVICE8 _w64 **&quot; konvertieren&quot;</p>
<p>oder so.<br />
Danke für alle Antworten <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/1861918</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1861918</guid><dc:creator><![CDATA[Johannes Schneider]]></dc:creator><pubDate>Fri, 26 Feb 2010 21:42:00 GMT</pubDate></item><item><title><![CDATA[Reply to Unterschied zw. (Cast)Typ und reinterptet_cast&amp;lt;cast&amp;gt;Typ on Fri, 26 Feb 2010 21:59:19 GMT]]></title><description><![CDATA[<p>(float)var ist der alte c-style cast. der castet halt ganz einfach z.B. n int in ein float. der c-style-cast achtet nicht allzu genau auf sicherheit, kann also auch sinnlose casts durchführen.</p>
<p>static_cast&lt;float&gt; ist noch am ehesten mim c-stylte cast vergleichbar. der tut im prinzip das gleiche, ist aber sicherer (vermeidet fehler, z.B. pointer auf nicht-pointer casten)</p>
<p>dynamic_cast&lt;class asd&gt; braucht man für castings zwischen geerbten- und basisklassen. für basis auf geerbt muss aber die klasse polymorph sein. Für Verwendung von dynamic_cast muss RTTI aktiviert sein.</p>
<p>const_cast&lt;float&gt; kann einem const oder volatile attribute wegcasten.</p>
<p>reinterpret_cast&lt;float&gt; ignoriert ein und ausgangstyp und kopiert einfach stupide binär die adresse. damit kann man auch compilerfehlerfrei völlig sinnfreie casts durchführen. bietet somit viel potenzial für unentdeckte fehler, selten aber schlecht vermeidbar.</p>
<p>Ele</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1861927</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1861927</guid><dc:creator><![CDATA[Elefunty]]></dc:creator><pubDate>Fri, 26 Feb 2010 21:59:19 GMT</pubDate></item><item><title><![CDATA[Reply to Unterschied zw. (Cast)Typ und reinterptet_cast&amp;lt;cast&amp;gt;Typ on Fri, 26 Feb 2010 22:26:12 GMT]]></title><description><![CDATA[<p>Der Vorteil der C++-Cast-Operatoren besteht darin, dass ihre Funktionalität aufgeteilt wurde. Man kann also je nach Anwendungsfall den richtigen Operator einsetzen und hat somit eine grössere Sicherheit, ungewollte Nebeneffekte zu vermeiden. Z.B. kann man mit <code>static_cast</code> keine CV-Qualifizierer entfernen, der C-Cast kann das hingegen ohne Probleme und ist deshalb eine potenzielle Fehlerquelle. Das trifft auch auf den Function-Style-Cast zu:</p>
<pre><code class="language-cpp">double* p;
int i = int(p);
</code></pre>
<p>Ich verwende ausschliesslich C++-Cast-Operatoren. Sie machen zwar den Code etwas länger, aber die Sicherheit und schnelle Erkennbarkeit der Casts ist mir das allemal wert. Im Idealfall sollten Casts sowieso so selten wie möglich vorkommen, ich verwende fast nur <code>static_cast</code> .</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1861941</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1861941</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Fri, 26 Feb 2010 22:26:12 GMT</pubDate></item><item><title><![CDATA[Reply to Unterschied zw. (Cast)Typ und reinterptet_cast&amp;lt;cast&amp;gt;Typ on Sat, 27 Feb 2010 23:09:39 GMT]]></title><description><![CDATA[<p>Vielen Dank :D.<br />
Ich denke ich werde mich wohl an die besseren Casts gewöhnen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1862214</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1862214</guid><dc:creator><![CDATA[Johannes Schneider]]></dc:creator><pubDate>Sat, 27 Feb 2010 23:09:39 GMT</pubDate></item></channel></rss>