OROT -- Redéfinir les opérateurs associés ensemble
Remonter à Audits C++
Description
Certains opérateurs doivent être surchargés ensemble avec leurs correspondances associées, ou ne doivent pas être surchargés du tout. Par exemple, surcharger seulement l'opérateur new sans surcharger delete peut planter votre application.
L'audit OROT vérifie les paires suivantes d'opérateurs surchargés et déclenche une violation quand un membre d'une paire, mais pas les deux, est surchargé. Vous pouvez choisir les paires d'opérateurs associés à vérifier en les sélectionnant sur le panneau des options. Par défaut, elles sont toutes sélectionnées.
Paires d'opérateurs opposés qui peuvent être auditées :
==
et!=
+
et+=
-
et-=
new
etdelete
Incorrect
class LinkedListIterator {
public:
bool operator== (LinkedListIterator i) const;
...
};
Correct
class LinkedListIterator {
public:
bool operator== (LinkedListIterator i) const;
bool operator!= (LinkedListIterator i) const;
...
};