为什么 if(x=0) 的计算结果为 false?

sma*_*mak 0 c++ if-statement conditional-statements

每个人。

int x{};
if (x = 0) 
    std::cout << "condition true";
else
    std::cout << "condition false";
Run Code Online (Sandbox Code Playgroud)

我不明白为什么 x=0 计算结果为布尔 false 并执行“条件 false”。x=0 是一个赋值,并且 x 的值为 0 那么为什么它的计算结果不为 true ?

for*_*818 12

的值x=0x赋值后的值。是转换为时0唯一的整数。boolfalse