为什么 Stroustrup 在 "The C++ Programming Language 3rd Edition (online)" 中定义了函数 sqrt?



Bjarne Stroustrup在他的书"The C++ Programming Language"第2章第23页(pdf第34页)的第3版(在线)中,在片段范式中定义了函数sqrt。为什么他不只使用标准库中已经包含的那个?

因为sqrt"良好风格"过程函数的一个例子。它接受输入,处理它,然后返回结果。

这本书并不是建议你应该自己写,或者从书中复制定义(无论如何,这本书完全缺乏实现)。这本书也没有演示如何计算平方根。它描述了过程编程中函数的目的(或者这是我的解释)。

如果你正在考虑编写自己的sqrt(),看看一些源代码,例如,我在谷歌上找到的第一个:

https://opensource.apple.com/source/Libm/Libm-92/ppc.subproj/sqrt.c

ACCU的2016年10月超载杂志有一篇文章"八根碎片"

https://accu.org/index.php/journals/2294

我觉得 bogosqrt() 解决方案特别有趣。

最新更新