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

math picture math · Jun 25, 2010 · Viewed 66.4k times · Source

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?

Answer

Mike Seymour picture Mike Seymour · Jun 25, 2010

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.