1.abs()、fabs()和fabsf()区别 因为C++ 允许重载 可以根据类型自行选择,所以有的时候看源码是最好的老师
abs(类型 i); //
inline double __CRTDECL abs(_In_ double _X)
{return (fabs(_X)); }
inline long abs(long _X)
{
return labs(_X);
}
inline long long abs(long long _X)
{
return llabs(_X);
}
inline float __CRTDECL abs(_In_ float _X)
{return (fabsf(_X)); }
fabs(类型 i); //处理 类型的取绝对值
inline float __CRTDECL fabs(_In_ float _X)
{return (fabsf(_X)); }
inline long double __CRTDECL fabs(_In_ long double _X)
{return (fabsl(_X)); }
fabsf(类型 i); //处理float类型的取绝对值
inline float fabsf(_In_ float _X)
{return ((float)fabs((double)_X)); }
abs(类型 i); //
inline double __CRTDECL abs(_In_ double _X)
{return (fabs(_X)); }
inline long abs(long _X)
{
return labs(_X);
}
inline long long abs(long long _X)
{
return llabs(_X);
}
inline float __CRTDECL abs(_In_ float _X)
{return (fabsf(_X)); }
fabs(类型 i); //处理 类型的取绝对值
inline float __CRTDECL fabs(_In_ float _X)
{return (fabsf(_X)); }
inline long double __CRTDECL fabs(_In_ long double _X)
{return (fabsl(_X)); }
fabsf(类型 i); //处理float类型的取绝对值
inline float fabsf(_In_ float _X)
{return ((float)fabs((double)_X)); }