de if-Block 是什么意思
What does de if-Block mean
if 块中的加法是什么意思? if-Question 比较什么?
我已经用整数尝试了代码,但它告诉我 if 块每次都是 true
if (f(a,751) + f(b, -751) -f(c, a))
.
在显示的代码中,对整个表达式 f(a,751) + f(b, -751) - f(c, a)
求值,如果它将 return 一个可转换为 bool 的值(例如,整数),则如果值为转换为 true
。对于整数,这意味着该值是否为非 0。
缺少 f
函数的定义我无法进一步详细说明。
加法就是加法。假设 f() returns 是一个整数,if 语句只是评估一个整数条件。在这种情况下,任何非零数字都将 return 为真。
What does the addition in the if block mean?
它的意思与其他任何地方完全相同,取决于表达式 f(a,751)
等的类型。所以你的 if
语句在逻辑上等于:
auto tmp = f(a,751) + f(b, -751) -f(c, a);
if( tmp ) ...
这样你会更容易理解 +
在 if
里面没有特殊含义
What does the if-Question compare?
C++ 有特殊的规则,如何将某些类型转换为 if
期望的类型 bool
。例如,对于 int
,任何非零值都会转换为 true
,否则会转换为 false
。不知道是什么f()
returns 没法多说
你应该明白,例如a < b
并没有什么特别之处,它只是returns bool
的一个表达。 if
只是评估括号内的内容并尝试将其转换为 bool
。如果可以就使用它,如果不能你会得到编译错误。
if 块中的加法是什么意思? if-Question 比较什么?
我已经用整数尝试了代码,但它告诉我 if 块每次都是 true
if (f(a,751) + f(b, -751) -f(c, a))
.
在显示的代码中,对整个表达式 f(a,751) + f(b, -751) - f(c, a)
求值,如果它将 return 一个可转换为 bool 的值(例如,整数),则如果值为转换为 true
。对于整数,这意味着该值是否为非 0。
缺少 f
函数的定义我无法进一步详细说明。
加法就是加法。假设 f() returns 是一个整数,if 语句只是评估一个整数条件。在这种情况下,任何非零数字都将 return 为真。
What does the addition in the if block mean?
它的意思与其他任何地方完全相同,取决于表达式 f(a,751)
等的类型。所以你的 if
语句在逻辑上等于:
auto tmp = f(a,751) + f(b, -751) -f(c, a);
if( tmp ) ...
这样你会更容易理解 +
在 if
What does the if-Question compare?
C++ 有特殊的规则,如何将某些类型转换为 if
期望的类型 bool
。例如,对于 int
,任何非零值都会转换为 true
,否则会转换为 false
。不知道是什么f()
returns 没法多说
你应该明白,例如a < b
并没有什么特别之处,它只是returns bool
的一个表达。 if
只是评估括号内的内容并尝试将其转换为 bool
。如果可以就使用它,如果不能你会得到编译错误。