OROT – Überschreiben von zusammengehörigen Operatoren als Ganzes

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu C++-Audits


Beschreibung

Bestimmte Operatoren sollten zusammen mit ihren zugehörigen Entsprechungen oder überhaupt nicht überladen werden. Das Überladen des Operators new ohne die Überladung von delete kann den Absturz einer Anwendung verursachen.

Das Audit OROT überprüft die folgenden Paare überladener Operatoren und zeigt einen Verstoß an, wenn ein Member eines Paares, aber nicht beide, überladen sind. Sie können die Paare der zusammengehörigen, zu überprüfenden Operatoren festlegen, indem Sie sie im Optionsbereich auswählen. Standardmäßig sind alle ausgewählt.

Operatorenpaare, die überprüft werden können:

  • == und !=
  • + und +=
  • - und -=
  • new und delete

Falsch:

 class LinkedListIterator {
 public:
   bool operator== (LinkedListIterator i) const;
   ...
 };

Richtig:

 class LinkedListIterator {
 public:
   bool operator== (LinkedListIterator i) const;
   bool operator!= (LinkedListIterator i) const;
   ...
 };

Siehe auch