1

悪であると言われているブール演算子をオーバーロードするライブラリ/コードを見たことがありますか? ユーザーにどのような利点がありますか?

4

4 に答える 4

3

標準ライブラリ自体がoperator !をオーバーロードしています。入力ストリームの場合、おそらく「悪」は強いですか?

しかし、あなたは&&||について話していたと思います。. これらをオーバーロードしない理由は、それらの短絡能力をユーザー定義のオーバーロードで複製できないためです。また、それらをオーバーロードするライブラリを認識していません。

于 2009-03-19T17:28:25.067 に答える
2

|| 誰かがやったことがあるかどうかはわかりませんが、|| 文字列連結としてORACLE SQLで使用されます。ここを参照してください:

http://www.java2s.com/Code/Oracle/Char-Functions/StringStringconcatenatestwostrings.htm

したがって、C++ でOracle SQL を模倣し、SQLString クラスを持つライブラリを作成しようとしている場合は、 || を使用すると思います。連結は正常と見なされます。

于 2009-03-19T17:28:17.937 に答える
1

演算子 bool に注意する必要がある理由を説明した素晴らしい記事
http://www.artima.com/cppsource/safebool.html

ブーストには、演算子のオーバーロードのためのヘルパーがあります

この演算子をオーバーロードするときは、論理的に注意する必要があります。たとえば、something::operator != は ! と同じにする必要があります。何か::演算子 ==

于 2009-03-19T17:42:40.087 に答える
1

ブール演算子のオーバーロードは、まさにそのために役立ちます-型をブール値のように動作させたい場合。
他の言語機能と同様に、利点と危険性があります。

于 2009-03-19T17:32:06.367 に答える