OROT -- 関係する演算子を一緒に上書き(Overwrite Related Operators Together)

提供: RAD Studio
移動先: 案内検索

C++ 検査 への移動

説明

ある種の演算子は、関係するものと一緒にオーバーロードするべきであり、そうでなければまったくオーバーロードするべきではありません。 たとえば、delete 演算子をオーバーロードせずに new 演算子だけをオーバーロードすると、アプリケーションがクラッシュするおそれがあります。

OROT 検査では、以下の演算子ペアがオーバーロードされていないかを確認し、両方ではなく一方だけがオーバーロードされている場合には、違反を発生させます。 関連する演算子のどの組み合わせを確認対象とするかは、オプション パネルで選択できます。 デフォルトでは、すべて選択されています。

検査の対象となり得る相反演算子のペアは以下です。

  • ==!=
  • ++=
  • --=
  • newdelete
誤った例
 
  class LinkedListIterator {
  public:
    bool operator== (LinkedListIterator i) const;
    ...
  };
正しい例
 
  class LinkedListIterator {
  public:
    bool operator== (LinkedListIterator i) const;
    bool operator!= (LinkedListIterator i) const;
    ...
  };

関連項目