比较相等是否可以使用`==`?

Bra*_*don 5 c++ equality

比较相等是否可以使用==

例如:

int a = 3;
int b = 4;
Run Code Online (Sandbox Code Playgroud)

如果要检查是否相等,您应该使用:

if (a == b)
{
     . . .
}
Run Code Online (Sandbox Code Playgroud)

如果使用浮点数,情况会改变吗?

Mit*_*eat 15

' =='非常适合整数值.

你应该不是比较平等花车; 使用容忍方法:

if (fabs(a - b) < tolerance)
{
   // a and b are equal to within tolerance
}
Run Code Online (Sandbox Code Playgroud)

  • 需要使用std :: abs,因为只有它被重载.C函数:: abs不是.我总是明确地声明命名空间,以避免在意外选择非重载的C函数时难以调试的错误. (4认同)
  • @ michael`abs`在`cmath`中为浮点类型重载,Mitch的代码没有问题. (3认同)