C++ Typumwandlung mit Pointer

Ich komme aus einem hintergrund von C# und Java und ich kann nicht scheinen, um zu verstehen, was-casting mit dem Pointer also in C++.

Beispiel:

int x = 1;
char c = *((char*)&x);

Was tut es? Was ist es nützlich?

In C++ sollten Sie vermeiden, Gießen. Gießen ist ein Weg, zu sagen, der compiler "Nein, Nein, Sie werden denken, dass dies falsch ist, aber ich bin mir sicher, dass ich Recht habe". In C++, obwohl es immer besser zu machen der compiler die ganze Zeit richtig. Casting ist eine Art von Unterdrückung compiler-Fehler. Also im Grunde ist es mehr Konstruktive Fragen über casting für einen bestimmten Zweck, anstatt Gießen im Allgemeinen. Beide deiner Beispiele sollte vermieden werden, in C++ vollständig.
Möchten Sie wissen, über das Gießen mit Zeigern im Allgemeinen oder aus Ihrem Beispiel kann es scheinen, der Unterschied zwischen casting zu char * und char const * ?
Ich bearbeitet die post, jetzt sollte es klarer sein, denke ich.
Weder Ihre Beispiele kompilieren, so dass Sie nicht aussagekräftig sind.
nach dem Bearbeiten der code kann nicht kompiliert werden: sollte char c = *((char*)x);

InformationsquelleAutor UnTraDe | 2012-07-29

Schreibe einen Kommentar