web-dev-qa-db-ja.com

cout << 1 && 0;の出力

以下のコードが1を出力する理由がわかりません。

1 && 0true && falseとは異なります-> false

なぜこれは0を印刷しないのですか?

#include <iostream>

using namespace std;

int main(){
    cout << 1 && 0;
    return 0;
}
21
Sabz

演算子の優先順位 がすべてです。

オーバーロードされたビット単位の左シフト演算子operator<<(std::basic_ostream)は、論理AND演算子&&

#include <iostream>
int main() {
    std::cout << (1 && 0);
    return 0;
}

演算子の優先度について146%確信がない場合は、Ifを使用することをためらわないでください。最新のIDEのほとんどは、使用する必要がない場合に通知します。

44
Smit Ycyken