Avatar von Rainer  Grimm
  • Rainer Grimm

47 Beiträge seit 01.05.2017

Re: Vergleichsoperatoren die implizite Konvertierung nutzen komplett vermeiden

Da gebe ich ihnen vollkommen Recht.
In meinen Schulungen erzähle ich immer, dass sowohl der Konvertierungs-Konstruktor nach MyInt: MyInt(int) als auch der Konvertierungs-Operator von MyInt weg: operator int() explizit sein sollten. Seit C++11 ist dies auch mit dem Konvertierungs-Operator möglich.
Mir ist aber kein anderes Beispiel für eine Asymmetrie eingefallen als ein impliziter Konvertierungs-Konstruktor.
Daher sehe ich es ähnlich wie sie:
1. Der Konvertierungs Konstruktor und der Konvertierungs-Operator sollten explizit sein.
2. Falls Regeln 1 nicht anwendbar ist, dann sollten diese zu mindestens symmetrisch sein.

Bewerten
- +