馬鹿なレスが多いんで見落としてた

>>347
俺も基本的にそういう考えだよ。別に俺がそう書きたいというわけでなく、
p==qかつ*p!=*q は存在しないということに対して、存在する場合もあると言っただけだよ。

そもそも cast operator を定義する時点で怪しいコードになってくる。
けどその有用性を利用しているコードも存在している。
だから、その性質を理解しておくのは必要なことだと思っている。

例えば行列を表すクラス A があって、
それを拡張してインバース属性を持つクラス B 作るとする。
このときに B には opertore A() を用意しておき、
インバース属性が立っていれば逆行列を返すようにするとか
そうすると A を使用していたコードがそのまま使える。

こういう手法を使うことはよくあるだろ。(少なくとも使ってる奴がいるだろう。)