我正在研究一些c ++代码并使用math.h库。由于数学库是针对C的,所以例如,sqrt函数有许多不同的名称,如sqrt,sqrtf,sqrtl,我想知道是否有一个只有一个名称的c ++。
答案 0 :(得分:6)
当然,请在标题<cmath>
中查看std::sqrt
。
答案 1 :(得分:3)
http://msdn.microsoft.com/en-us/library/f1xa99e6.aspx解释了不同之处
在C ++中sqrt()
接受double
,float
或long double
,而sqrtf()
只接受浮动。
有两个不同版本的唯一原因是因为C不支持重载,所以必须有两个函数
C++
允许重载,因此实际上有三种不同版本的sqrt()
采用各种大小的浮点参数。
在C++
中,应使用重载的sqrt
(在cmath
中定义,namespace std
)。