<?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[Richtig Casten]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich hab mal ne Frage bezüglich des casten:<br />
Es gibt 4 Arten des Castens:</p>
<p>const_cast (zum entfernen eines const)<br />
static_cast (Casten zur Compilierzeit)<br />
dynamic_cast (Casten zur Ausführungszeit)<br />
reinterpreter_cast (Konvertierung zwischen nicht verwandten Typen)</p>
<p>Dann kann man aber auch noch:<br />
(Typ)Object<br />
casten.</p>
<p>Ist das ein static_cast falls er es zur Kompilierzeit<br />
feststeht ansonsten ein dynamic_cast?</p>
<p>Gruß,<br />
Chef-Caster</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/130495/richtig-casten</link><generator>RSS for Node</generator><lastBuildDate>Wed, 26 Aug 2026 16:15:37 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/130495.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 23 Dec 2005 15:17:06 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Richtig Casten on Fri, 23 Dec 2005 15:17:06 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich hab mal ne Frage bezüglich des casten:<br />
Es gibt 4 Arten des Castens:</p>
<p>const_cast (zum entfernen eines const)<br />
static_cast (Casten zur Compilierzeit)<br />
dynamic_cast (Casten zur Ausführungszeit)<br />
reinterpreter_cast (Konvertierung zwischen nicht verwandten Typen)</p>
<p>Dann kann man aber auch noch:<br />
(Typ)Object<br />
casten.</p>
<p>Ist das ein static_cast falls er es zur Kompilierzeit<br />
feststeht ansonsten ein dynamic_cast?</p>
<p>Gruß,<br />
Chef-Caster</p>
]]></description><link>https://www.c-plusplus.net/forum/post/948693</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/948693</guid><dc:creator><![CDATA[Chef-Caster]]></dc:creator><pubDate>Fri, 23 Dec 2005 15:17:06 GMT</pubDate></item><item><title><![CDATA[Reply to Richtig Casten on Fri, 23 Dec 2005 15:34:31 GMT]]></title><description><![CDATA[<p>hi,</p>
<p>dass ist imho immer ein reinterpret_cast oder ein static_cast, nie ein dynamic_cast.</p>
<p>[edit: man kann auch Typ(Objekt) casten]</p>
<p>Hoffe ich konnte helfen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/948703</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/948703</guid><dc:creator><![CDATA[bluecode]]></dc:creator><pubDate>Fri, 23 Dec 2005 15:34:31 GMT</pubDate></item><item><title><![CDATA[Reply to Richtig Casten on Fri, 23 Dec 2005 15:35:31 GMT]]></title><description><![CDATA[<p>dynamic_cast ist Casten innerhalb von Klassenhierarchien zur Laufzeit!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/948704</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/948704</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Fri, 23 Dec 2005 15:35:31 GMT</pubDate></item><item><title><![CDATA[Reply to Richtig Casten on Fri, 23 Dec 2005 17:01:20 GMT]]></title><description><![CDATA[<p>Chef-Caster schrieb:</p>
<blockquote>
<p>Hallo,</p>
<p>ich hab mal ne Frage bezüglich des casten:<br />
Es gibt 4 Arten des Castens:</p>
<p>const_cast (zum entfernen eines const)<br />
static_cast (Casten zur Compilierzeit)<br />
dynamic_cast (Casten zur Ausführungszeit)<br />
reinterpreter_cast (Konvertierung zwischen nicht verwandten Typen)</p>
<p>Dann kann man aber auch noch:<br />
(Typ)Object<br />
casten.</p>
<p>Ist das ein static_cast falls er es zur Kompilierzeit<br />
feststeht ansonsten ein dynamic_cast?</p>
<p>Gruß,<br />
Chef-Caster</p>
</blockquote>
<p>const_cast : entfernen und/oder hinzufügen von cv-qualifizierer (d.h. const oder volatile)<br />
static_cast : cast basiserend auf dem statischen typ des operanden. die liste, der erlaubte konvertierungen ist relativ lang, als faustregle gilt, dass konvertierungen, die auch implizit durchgeführt werden, mittels static_cast möglich sind, sowie deren inverses (mit ausnahme von lvalue-zu-rvalue,array-zu-pointer,konvertierung-zu-bool und funktion-zu-pointer), und static_cast can const nicht wegcasten</p>
<p>dynamic_cast : casten basierend auf dem dynamischen typ des operanden, kann nur auf objekte mit virtuellen funktionen bzw. refernzen oder pointer darauf angewendet werden. damit sind up- (die gehen auch implizit oder per static_cast). down-(das geht auch mit static_cast) und cross-casts möglich.</p>
<p>reinterpret_cast : casts basierend auf dem statischen typ, das ergebnis ist fast immer implementation-defined (sofern überhaupt zulässig)</p>
<p>cast-notation (T)x<br />
führt eine der folgenden casts durch:<br />
- const_cast<br />
- static_cast<br />
- static_cast danach const_cast<br />
- reinterpret_cast<br />
- reinterpret_cast danach const_cast<br />
gibt es mehrere möglichkeiten, so wird die gewählt, die weiter oben in der liste auftaucht.</p>
<p>functionale notation ( T(x) )<br />
- 100% equivalent zur cast-notation (allerdings sind nur einfache typ-bezeichner zulässig, und da die meisten unsicheren casts mit referenzen oder pointern stattfinden, ist diese notation nicht ganz so kritisch, sofern man nicht mit typedef typen arbeitet)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/948761</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/948761</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Fri, 23 Dec 2005 17:01:20 GMT</pubDate></item></channel></rss>