gpt4 book ai didi

c++ - 这些如何被评估为真实的?

转载 作者:太空宇宙 更新时间:2023-11-04 15:03:45 25 4
gpt4 key购买 nike

考虑以下示例:

int x;
if (x = 1)
//...


if (std::cout << "Is it true?")
//...

两者都被评估为真,但为什么呢?

最佳答案

if (x = 1)本质上与 tmp = (x = 1); if (tmp) ... 相同

operator << (const char *) 的“结果”是一个 ostream& , 它有一个 operator bool编译器调用以使其“可比较”。 operator bool将返回“如果有错误则返回 false,否则返回 true”。在 C++11 之前,它会返回一个 void*。 , 但意思是一样的(“如果有错误则为 false (= 0),否则为 true”。

关于c++ - 这些如何被评估为真实的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22422322/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com