以下のコードは、( "!")演算子はどこでも有効ですか?
はITEM1名前Sales_itemオブジェクトのメンバ関数をコールします。 -C++プライマー第四EDI。
item1 is equal to item2
のISBN場合はtrueを返しますが、あなたは私が(明らかに)等しく、元の状態に逆の効果を使用しないたくなるいくつかの運動を与える(書籍)
// first check that item1 and item2 represent the same book
if (item1.same_isbn(item2))
ので、私は私に言った何かが予想1からコンパイラがコンパイルされます。この
if (!item1.same_isbn(item2))
が、結果ミスのようにそれを置くので、そのコードは有効ですが、どこが期待できないよ何かを処理します。
ですから、タイトルごとにnot( "!")演算子は実際にどこでも同じように動作しますか?
私がここで間違っている場合は私を訂正してください。しかし、あなたは 'if(!item1.same_isbn(item2)){foo(); } 'item1がitem2にマッチすると' foo'を実行しませんか? –
'item1.same_isbn(item2)'がブール値(trueまたはfalse)を返すことは確かですか? 'if'文の前の' cout << item1.same_isbn(item2); 'を実行するとどうなりますか? – Gaurav
定義されているすべてのオペランドに対して一貫して動作します。 '!item1.same_isbn(item2)'の場合、 '! '演算子のオペランドは何ですか?タイプは何ですか?その型で '!'が定義されていますか? –