Bjarne Stroustrup在他的书"The C++ Programming Language“第2章,第23页(pdf第34页)的第三版(online)中,以代码片段范式定义了函数sqrt。为什么他不直接使用标准库中已经包含的?
发布于 2017-02-03 18:03:50
因为sqrt是一个“良好风格”的过程函数的例子。它接受一个输入,对其进行处理,然后返回结果。
这本书并不是建议你编写自己的定义,或者从书中复制定义(这本书完全没有实现)。这本书也没有演示如何计算平方根。它描述了过程编程中函数的用途(或者这是我的解释)。
发布于 2017-02-03 20:02:20
如果您正在考虑编写自己的sqrt(),请查看一些源代码,例如,我在Google上找到的第一个源代码:
https://opensource.apple.com/source/Libm/Libm-92/ppc.subproj/sqrt.c
ACCU 2016年10月的Overload杂志上有一篇文章《八个Rooty Pieces》
https://accu.org/index.php/journals/2294
我发现bogosqrt()解决方案特别有趣。
https://stackoverflow.com/questions/42021508
复制相似问题