Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » unterschied zwischen static_cast<char*> & (char*)

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
13.10.2005, 18:40 Uhr
~LiLa
Gast


Hallo Leute,
ich habe bisher den typ meines Zeigers immer mit
C++:
(char *)variable
geändert. Jetzt habe ich das hier gelses
C++:
static_cast<char*>
. Wo ist der unterschied?
Brauche ich
C++:
static_cast<char*>
überhaupt? Wenn ja wofür? und ist zeiger wandlung ala [cpp] (char*) [cpp] falsch?
Danke für die erklärung
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
13.10.2005, 19:41 Uhr
Spacelord
Hoffnungsloser Fall


Mit static_cast kannst du alles casten was nicht implizit gecastet wird aber explizit möglich ist.static_cast wird sich weigern etwas zu casten was absoluter Nonsens ist.
C Casts sind da wesentlich großzügiger und somit auch potentiell unsicherer.
static_cast ist auch nicht der einzige mögliche C++ Cast.

Es gibt noch:
-dynamic_cast
Für Downcasts mit (Laufzeit)Typüberprüfung.Castet also einen Basisklassen Zeiger in den
Zeiger einer abgeleiteten Klasse sofern das Onjekt hinter dem Zeiger wirklich von diesem Typ ist.Gibt ansonsten null zurück.
-reinterpret_cast:
Ist IMHO am ehesten mit dem C Cast zu vergleichen.Castet eigentlich fast alles zu jeden Typ.Sollte man also auch mit Bedacht einsetzen.
-const_cast
Castet bei,als const deklarierten,Variablen die Konstantheit weg.Da man im Regelfall ja seine Gründe hat eine Variable als const zu deklarieren ist const_cast also auch eher für "Sonderfälle" gedacht.

Generell sind die C++ Casts vorzuziehen weil sie gegenüber dem C Cast mehr Sicherheit bringen und es für jeden Zweck einen angemessenen gibt.

MfG Spacelord
--
.....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.

Dieser Post wurde am 13.10.2005 um 20:09 Uhr von Spacelord editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
14.10.2005, 10:14 Uhr
~LiLa
Gast


wunderbar! Danke für diese schöne erklärung! 1 1/2 Jahre c++ und ich habe das gefühl ich weiß noch nichts!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: