19項 等価と等値の違いを理解しよう

等価と等値の違いを理解しよう



等値はoperator==で判断されます。operator==がtrueを返したら等値です。
findアルゴリズムは内部でoperator==を使うので、引数と等値であるものを探します。


等価は、連想コンテナの要素が等しいということです。下のコードがtrueなら等価になります。

!c.key_comp()(x, y) && !c.key_comp()(y, x) // c.key_comp()は連想コンテナの比較関数を返す。

setのメンバ関数find()は上のコードを使って探索します。