operator cast
-
neulich habe ich mal nach operator cast gefragt, jetzt habe gelesen,dass eigentlich soll man die Methode nicht benutzen, weil es zwar freundlich zu den usern, aber verwirrt sie auch, "die beiden Objekte sind doch gleich!"
-
netrobot schrieb:
neulich habe ich mal nach operator cast gefragt, jetzt habe gelesen,dass eigentlich soll man die Methode nicht benutzen, weil es zwar freundlich zu den usern, aber verwirrt sie auch, "die beiden Objekte sind doch gleich!"

-
Babelfish?

-
er meint
class Test { public: operator int() { return 42; } }
-
operator cast schrieb:
er meint
class Test { public: operator int() { return 42; } }Sowas ist weder ein operator cast noch ein cast operator. Das Ding nennt sich "conversion function" (12.3.2) und es ist an sich erstmal weder gut noch schlecht. Problematisch sind sie, wenn die durch die Conversion function eingeführte implizite Konvertierung zu unerwartetem Verhalten führt - z.B. im Kontext von Überladung. Was "unerwartet" dabei genau bedeutet ist aber auch von den C++ Kentnissen des Programmierers abhängig.
Mein Rat wäre: Lieber einmal eine conversion function zu wenig (und stattdessen lieber eine benannte Konvertierungsfunktion) als einmal eine zu viel.