OROT – Überschreiben von zusammengehörigen Operatoren als Ganzes
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
unddelete
Falsch:
class LinkedListIterator {
public:
bool operator== (LinkedListIterator i) const;
...
};
Richtig:
class LinkedListIterator {
public:
bool operator== (LinkedListIterator i) const;
bool operator!= (LinkedListIterator i) const;
...
};