就个人理解,std:fabs、std::fabsl、std::fabsf 之类的存在,只为兼容 C 的古典语法。
既然 C++ 有重载机制,一个 std::abs 就足以干所有的活了,非常简明。
当然这一切取决于标准怎么说,不同的编译器有不同的扩展,
Apple Clang std::abs 行为特别奇怪(甚至不符合名空间规则)!
其实你的发言很矛盾,一会嘲笑 C++ 的abs很复杂,
一会有推崇多个 abs 函数。
当然,个人观点或编译器行为不代表标准C++。
【 在 DoorWay (DoorWay) 的大作中提到: 】
: 不懂你的意思啊。可能我
: “C++ 只有一个绝对值,那就是std::abs” -- 这是什么意思?std::fabs也是标准库提供的啊——你是有什么特殊的考虑吗?
: "缺陷报告(defect report)的解决方案..." -- 这个我理解是,定义不一致的问题,c++11已经修复了。但引入了新问题, 即fabs进int出double的问题。不知那个 Apply To是这样理解的不,我是强行阅读,理解有点费劲哈。
: ...................
--
修改:easior FROM 183.131.109.*
FROM 183.131.109.*