2

これは明確に定義されていますか?

Streamreader ^reader = gcnew Streamreader("test.txt");
String  ^line;

while ((line = reader->ReadLine()) != nullptr && line != "")
{
    //do stuff
}

2番目の条件の前に割り当てが実行されることが保証されていないことをどこかで読んだと思います。私が間違っているか、これがCにのみ当てはまる可能性があります
。Googleはこれについて私を助けませんでした。それが私がここで尋ねている理由です:)

4

2 に答える 2

4

&&と||を使用すると、2番目の条件を評価する前に、最初の条件(割り当てを含む)を評価することが保証されます。

一方、ビットごとの&と|では、そのような保証は行われません。

于 2010-06-19T00:12:13.980 に答える
1

ここには、いくつかの優れた参考資料を含む関連する回答があります。短絡論理演算子は必須ですか?そして評価順序は?

&&と||をオーバーロードしていない場合の簡単な回答 左から右への短絡評価が得られます。リンクを見てください。

于 2010-06-19T00:31:27.197 に答える