更换C 中的晶圆厂

Replace fabs in C++

本文关键字:圆厂 更换      更新时间:2023-10-16

c 中是否有不同的功能,我可以替换function fabs()?例如这样:

fabs(tab[j][i]) > fabs(tab[max][i])

是的,有。abs来自<cmath>

我建议您仍然使用 fabs,如果该参数始终是 double-更可靠。风险是:有时只能看到abs(int),因此您的double参数将被截断为int(尽管您可能会收到编译器警告)。

的原因之一是,在C 17之前,不能保证单个标头同时包含abs(int)abs(double)<cmath> 必须包含abs(double)<cstdlib> 必须必须包含abs(int),但当然它们 May 都包含。因此,更改编译器可能会更改哪个超载。

另一个示例:如果您#include "math.h"而不是<cmath>,并且使用Visual C ,abs(double)是否可见?它将是 - 取决于Visual Studio 2013,但是当您升级到Visual Studio 2015时,您会丢失它。

当然,当不知道该参数类型时,使用仍应使用abs,例如它是模板的一部分。