Frage zu Casting
-
double d=static_cast<double>(i); douole d=(double)i; double d=double(i);//ich nehme bisher diese variante am liebsten
-
Ok, es macht also keine Unterschied welche man nimmt, oder?
-
SWW13 schrieb:
Ok, es macht also keine Unterschied welche man nimmt, oder?
DOCH!
-
SWW13 schrieb:
Ok, es macht also keine Unterschied welche man nimmt, oder?
bei double und int nicht.
bei zeigern ist es heikler, da nehme ich auch static_cast oder const_cast oder dynamsic_cast oder reinterpret_cast, was halt das geringste übel ist.
-
Hmm, ok.
Bei normalen strd. Typen ohne Zeiger kann ich also alle nehmen.(?)
Bei Zeiger sollte ich dann einen von den ..._cast<... *> nehmen, oder? Was ist der Unterschied zwischen denen?
-
ein wenig text zu den <>-casts:
http://www.geocities.com/matfauzee1/Module22.html
-
Dann hab ich für die nächsten Tage was zu lesen...
Danke für die Infos.
-
http://tutorial.schornboeck.net/casts.htm
Diese beiden Casts funktionieren zwar auch, allerdings casten sie immer - auch wenn eine Konvertierung garnicht sinnvoll ist. Deswegen sollte man in C++ besser die 'neuen' casts wie static_cast verwenden.
-
das klingt mir ein wenig zu absolut.
#include <iostream> #include <string> using namespace std; char const* const rootpath="c:/foo"; int main() { string fullpath=static_cast<string>(rootpath)+"/log.txt"; cout<<fullpath<<'\n'; }das finde ich nicht hübsch.
deswegen nehme ich bei werten, egal ob string oder double) den funktionalstil.#include <iostream> #include <string> using namespace std; char const* const rootpath="c:/foo"; int main() { string fullpath=string(rootpath)+"/log.txt"; cout<<fullpath<<'\n'; }
-
Naja gut wie du meinst volkard. Ich denke es ist auch eine Frage des Geschmacks und ich werde bei static_cast bleiben.