I checked the difference between abs
and fabs
on python here
As I understand there are some difference regarding the speed and the passed t
With C++ 11, using abs()
alone is very dangerous:
#include
#include
int main() {
std::cout << abs(-2.5) << std::endl;
return 0;
}
This program outputs 2
as a result. (See it live)
Always use std::abs()
:
#include
#include
int main() {
std::cout << std::abs(-2.5) << std::endl;
return 0;
}
This program outputs 2.5
.
You can avoid the unexpected result with using namespace std;
but I would adwise against it, because it is considered bad practice in general, and because you have to search for the using
directive to know if abs()
means the int
overload or the double
overload.