In C++, this function is also overloaded in header

for floating-point types (seecmath abs), in header

for complex numbers (seecomplex abs), and in header

If the result cannot be represented by the returned type (such as

in an implementation with twos complement signed values), it causes