主题:【原创】猛批烂书 程序员面试宝典 上 -- 晨池
共:💬64 🌺96
涉及到浮点的问题就不是一般的费解啊。pow的内部可能是用牛顿迭代之类的方法写的,有误差难免。
7.9999999999其实和8是相等的--在特定浮点容许度范围内,所以也不能说pow()的结果有问题。
记得在实现取整的函数时,floor(a + 0.5 + EPS),因为没有最后的EPS而得到错误结果。这块的地雷真不少啊。
复 不是这样的
我们公司就是大量使用,通常自己写delete语句都要被人骂的。所有的指针型变量都必须包在smart pointer里,这样做的好处就是很少担心内存泄漏的问题。
复 学生求科普
所以只要需要“间接”访问某物体的地方都可以考虑。通常情况是,某段代码对某对象只能暂时拥有所有权(全部或部分),这是需要传入/传出指针型变量。
技术上,某对象过大,以至于只能在堆上分配,也需要一个指针型变量,但是这种类型的变量如果总是拥有全部所有权,可以简单地包装成栈变量。