gpt4 book ai didi

c++ - 何时使用 fabsf 而不是 fabs

转载 作者:行者123 更新时间:2023-11-28 05:19:14 24 4
gpt4 key购买 nike

我想知道在什么情况下我会使用 fabs 而不是 fabsf(来自 cmath/math.h)?

或者解释其中的区别,因为它看起来就像一个调用另一个。

我在 math.h 中的定义是

_Check_return_ inline float fabs(_In_ float _Xx) _NOEXCEPT

_Check_return_ __inline float __CRTDECL fabsf(_In_ float _X)

最佳答案

When to use fabsf rather than fabs

在 C++ 中,几乎没有理由使用 fabsf。使用 std::abs 而不是浮点类型。 std::fabs 可能在您希望将整数的绝对值转换为 double 时有用,但这可能是非常小众的用例。

如果您改用 C 来编写,那么它几乎是一样简单的:当您有一个 float 时使用 fabsf,当您有一个 fabs有一个double。这同样适用于其他带有 f 后缀的标准数学函数。

The definitions I have in my math.h are

_Check_return_ inline float fabs(_In_ float _Xx) _NOEXCEPT

C++ 标准库指定了 std::fabs 的重载。其中之一采用 float。如果缺少其他重载,则您的标准库不符合标准。

C 标准库指定double fabs(double)。如果引用的声明适用于 C,则您的标准库不符合标准。

关于c++ - 何时使用 fabsf 而不是 fabs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41857449/

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