<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="http://update.proggen.org/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="http://update.proggen.org/feed.php">
        <title>proggen.org cpp:cast</title>
        <description></description>
        <link>http://update.proggen.org/</link>
        <image rdf:resource="http://update.proggen.org/lib/tpl/proggenY/images/favicon.ico" />
       <dc:date>2026-04-19T08:54:00+0200</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://update.proggen.org/doku.php?id=cpp:cast:const&amp;rev=1663868365"/>
                <rdf:li rdf:resource="http://update.proggen.org/doku.php?id=cpp:cast:construct&amp;rev=1663868365"/>
                <rdf:li rdf:resource="http://update.proggen.org/doku.php?id=cpp:cast:dynamic&amp;rev=1663868365"/>
                <rdf:li rdf:resource="http://update.proggen.org/doku.php?id=cpp:cast:reinterpret&amp;rev=1663868365"/>
                <rdf:li rdf:resource="http://update.proggen.org/doku.php?id=cpp:cast:start&amp;rev=1663868365"/>
                <rdf:li rdf:resource="http://update.proggen.org/doku.php?id=cpp:cast:static&amp;rev=1663868365"/>
                <rdf:li rdf:resource="http://update.proggen.org/doku.php?id=cpp:cast:why&amp;rev=1663868365"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="http://update.proggen.org/lib/tpl/proggenY/images/favicon.ico">
        <title>proggen.org</title>
        <link>http://update.proggen.org/</link>
        <url>http://update.proggen.org/lib/tpl/proggenY/images/favicon.ico</url>
    </image>
    <item rdf:about="http://update.proggen.org/doku.php?id=cpp:cast:const&amp;rev=1663868365">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-22T19:39:25+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>cpp:cast:const</title>
        <link>http://update.proggen.org/doku.php?id=cpp:cast:const&amp;rev=1663868365</link>
        <description>Const entfernen - const_cast

Ein const_cast wird wie folgt aufgebaut

const_cast&lt; TypVonObject_ohne_Const &gt;( object )

Zurückgegeben wird das übergebene Objekt, der allerdings im Datentyp den -Qualifizierer verloren hat.

Ein Const-Cast ist eine legitimierte Notlösung. Gelegentlich stößt man auf alte Funktionen, die zwar noch benötigt werden, jedoch zu einer Zeit geschrieben wurden, als</description>
    </item>
    <item rdf:about="http://update.proggen.org/doku.php?id=cpp:cast:construct&amp;rev=1663868365">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-22T19:39:25+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>cpp:cast:construct</title>
        <link>http://update.proggen.org/doku.php?id=cpp:cast:construct&amp;rev=1663868365</link>
        <description>Casten durch Konstruieren

Grundsätzlich sieht das Casten durch Konstruieren ähnlich aus wie ein C-Cast:


double pi = 3.1415;

int almostPi = (int) pi;  // C-Type-Cast
int almostPi = int( pi ); // Cast durch Konstruktion


Hier wird der Konstruktor des gewünschten Datentyps (hier int) aufgerufen wird und ein neues Objekt des Datentyps erzeugt. In diesem Fall wird also der Datentyp, wenn man es genau nimmt, nicht umgeformt, sondern es wird eigentlich mit dem Konstruktor ein neues, passendes Obje…</description>
    </item>
    <item rdf:about="http://update.proggen.org/doku.php?id=cpp:cast:dynamic&amp;rev=1663868365">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-22T19:39:25+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>cpp:cast:dynamic</title>
        <link>http://update.proggen.org/doku.php?id=cpp:cast:dynamic&amp;rev=1663868365</link>
        <description>sicheres Casten - dynamic_cast

Ein dynamic_cast wird wie folgt aufgebaut

dynamic_cast&lt; neuerTyp &gt;( object )

Zurückgegeben wird ein Objekt im gewünschten Typ neuerTyp. 

dynamic_cast dient nur einem Zweck und zwar dem Casten von Referenzen oder Zeigern auf Objekten in andere Referenzen bzw. Zeiger auf einen anderen Objekttyp. Es ist dabei aber aber nicht garantiert, dass ein gültiges Objekt zurückgegeben wird, das Ergebnis kann auch NULL sein, wenn ein Cast nicht möglich ist.</description>
    </item>
    <item rdf:about="http://update.proggen.org/doku.php?id=cpp:cast:reinterpret&amp;rev=1663868365">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-22T19:39:25+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>cpp:cast:reinterpret</title>
        <link>http://update.proggen.org/doku.php?id=cpp:cast:reinterpret&amp;rev=1663868365</link>
        <description>Neuinterpretation - reinterpret_cast

Ein reinterpret_cast wird wie folgt aufgebaut

reinterpret_cast&lt; neuerTyp &gt;( object )

Zurückgegeben wird ein Objekt im gewünschten neuerTyp. 

reinterpret_cast ist der ausdrückliche Wunsch, Daten in anderer Form zu betrachten. Es entspricht damit dem</description>
    </item>
    <item rdf:about="http://update.proggen.org/doku.php?id=cpp:cast:start&amp;rev=1663868365">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-22T19:39:25+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>cpp:cast:start</title>
        <link>http://update.proggen.org/doku.php?id=cpp:cast:start&amp;rev=1663868365</link>
        <description>Casts

	*  C-Casts - und wozu braucht man sie überhaupt? 
	*  C++-Casts - und warum man keine C-Casts braucht

Cast-Typen

	*  Umformung: Konstruktion eines passenden Objekts
	*  static_cast: Typumformung, Zeigerumformung
	*  dynamic_cast: Mit Hilfe von Runtime Type Information das Interface wechseln
	*  const_cast: Const-Correctness übergehen
	*</description>
    </item>
    <item rdf:about="http://update.proggen.org/doku.php?id=cpp:cast:static&amp;rev=1663868365">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-22T19:39:25+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>cpp:cast:static</title>
        <link>http://update.proggen.org/doku.php?id=cpp:cast:static&amp;rev=1663868365</link>
        <description>Statisches Casten - static_cast

Ein static_cast wird wie folgt aufgebaut

static_cast&lt; neuerTyp &gt;( object )

Zurückgegeben wird ein Objekt im gewünschten neuerTyp. 

static_cast eignet sich für die Umformung von Zahlentypen, Zeigern und Referenzen. Zwischen Klassen werden unäre</description>
    </item>
    <item rdf:about="http://update.proggen.org/doku.php?id=cpp:cast:why&amp;rev=1663868365">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-22T19:39:25+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>cpp:cast:why</title>
        <link>http://update.proggen.org/doku.php?id=cpp:cast:why&amp;rev=1663868365</link>
        <description>Warum neue Castings in C++?

In C gibt es genau eine Casting-Aufforderung, die alle Probleme löst. Und genau das ist das Problem: liest man den Code, weiß man eigentlich gar nicht mehr weshalb man die Typumwandlung durchgeführt hat. Casten ist zu einfach in C - aufgrund der Kompatiblität von C++ zu C konnten die</description>
    </item>
</rdf:RDF>
