Search code examples
c++math.hcmath

When do I use fabs and when is it sufficient to use std::abs?


I assume that abs and fabs are behaving different when using math.h. But when I use just cmath and std::abs, do I have to use std::fabs or fabs? Or isn't this defined?


Solution

  • In C++, it's always sufficient to use std::abs; it's overloaded for all the numerical types.

    In C, abs only works on integers, and you need fabs for floating point values. These are available in C++ (along with all of the C library), but there's no need to use them.