主题:【原创】猛批烂书 程序员面试宝典 上 -- 晨池
共:💬64 🌺96
先谢谢您的说明,对我的确是一种启发。
细细想来不过也有一些值得商榷的地方。有点剑走偏锋的感觉。与其用虚的析构函数来完成不同的调用,还不如把虚的析构函数的内容直接写成一个个的函数。这样可读性还强点,工作量也应该差不多。
我在用C++的时候用一个原则,该编译器完成的工作让他去做,该自己干的绝不交给编译器。正如您举出的copy constructor例子一样。只要有诸如内存分配或有static的计数器变量等情况,不管3721先把拷贝构造,析构和operator=写了再说,管他用不用。因为编译器可能在你想不到的情况下会决定用他们。这也是改了自己或别人N次的bug的教训。您这种使用构造或析构属于一种implicit的方式,我更喜欢明示的方式。
不过千万请不要误会,我绝不是说您这种方式不好。编程不高深,但有时也会有点“运用之妙存乎于心”的感觉。就好像楼下的讨论什么时候用指针,还真不好回答呢。
- 相关回复 上下关系8
压缩 3 层
🙂哈哈,你不是第一个认错的 1 晨池 字168 2010-11-08 04:26:43
🙂谢花。 靠山王 字328 2010-11-08 06:08:25
🙂当时我们也就是利用了它构造完以后就释放的特性 晨池 字382 2010-11-09 05:21:27
🙂大致知道了
🙂嗯……我也觉得,嘿嘿,不过细节我忘记了 1 晨池 字98 2010-11-11 03:55:59
🙂呵呵。 1 股市就是搏傻游 字865 2010-11-07 23:23:13
🙂不是这样的 类反词典 字678 2010-11-08 16:31:04
🙂smart pointer还是很有用的 假设 字140 2010-11-24 02:34:39