是否有重载的sqrt等数学函数

Is there overloaded sqrt etc math functions

本文关键字:函数 sqrt 重载 是否      更新时间:2023-10-16

我正在编写一些c++代码并使用math.h库。由于数学库是为C,所以例如,sqrt函数有许多不同的名称,如sqrt, sqrtf, sqrtl,我想知道是否有一个c++只有一个名称。

当然可以,参见标题<cmath>中的std::sqrt

http://msdn.microsoft.com/en-us/library/f1xa99e6.aspx解释了差异。
在c++中,sqrt()可以接受double, floatlong double,而sqrtf()只接受浮点数。
有两个不同版本的唯一原因是因为C不支持重载,所以必须有两个函数。
C++允许重载,所以实际上有三个不同版本的sqrt()接受不同大小的浮点参数。
C++中,应该使用重载的sqrt(在cmath中定义,在namespace std中定义)