C+中的nextafter vs nextoward函数+;2011? < C++ > 2011标准库的NEXTAFFTER与NEXTTOWADER函数有什么区别?阅读人页面:
nexttoward()函数与nextafter()函数的作用相同,只是它们有一个长的双秒参数C+中的nextafter vs nextoward函数+;2011? < C++ > 2011标准库的NEXTAFFTER与NEXTTOWADER函数有什么区别?阅读人页面:,c++,floating-point,c++11,c++-standard-library,C++,Floating Point,C++11,C++ Standard Library,nexttoward()函数与nextafter()函数的作用相同,只是它们有一个长的双秒参数 由于函数源于C,因此不能重载,这意味着函数的两个不同名称相同,但参数(-type)不同。以下是原始签名: float nextafter(float, float); float nexttoward(float, long double); 现在的标准只是说应该在C++中做得更好( 26.8 [C.MaLT] P11): 此外,应具有足够的额外过载,以确保: 如果与double参数对应的任何参数的
由于函数源于C,因此不能重载,这意味着函数的两个不同名称相同,但参数(-type)不同。以下是原始签名:
float nextafter(float, float);
float nexttoward(float, long double);
现在的标准只是说应该在C++中做得更好(<代码> 26.8 [C.MaLT] P11<代码>):
此外,应具有足够的额外过载,以确保:double
参数对应的任何参数的类型为long double,
则与double
参数对应的所有参数都有效地转换为long double
double
参数对应的任何参数具有类型double
或整数类型,则与double
参数对应的所有参数都有效地转换为double
double
参数对应的所有参数将有效地转换为float
我想你忘了引用第二个论点是如何使用的。如果不讨论其含义,这是没有多大帮助的。是否存在行为可能不同的角落案例?在内部转换为长双精度是否存在性能开销?