C++中的abs函数。在C++中使用abs函数要注意存在两种版本,一种是在stdlib.h中定义的版本,另一个是在cmath头文件中定义的。事实上在stdlib.h文件是C的函数,而cmath中的是C++版本。
根据ISO C/C++的标准规定,C语言的abs函数仅仅支持整数的绝对值计算,必须使用fabs才能获得浮点数的绝对值;C++的abs则可以自然支持对整数和浮点数两个版本(实际上还能够支持复数)。
如果在C++程序中,由于头文件关系,不慎使用了C版本的abs函数,并且输入的是一个有小数的浮点数,那么其行为就可能不符合程序员的预期了,因为在传入函数参数时,浮点数会用截断的方式转换为整数。
作者:DarkBubble
链接:https://www.jianshu.com/p/28d8899090f6
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。