锁定老帖子 主题:理论上来说,对象是否应该具备自杀的能力?
精华帖 (0) :: 良好帖 (9) :: 灌水帖 (0) :: 隐藏帖 (16)
|
|
---|---|
作者 | 正文 |
发表时间:2008-09-05
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-09-05
在java中,我认为应该是包含这个对象的集合的行为。没有自杀一说的,只是从一个容器中移走而已。
在c++中可以理解为释放内存吧。也不是它自己的行为,而是拥有这个指针的函数或者容器的行为。 |
|
返回顶楼 | |
发表时间:2008-09-05
倾向于他杀
|
|
返回顶楼 | |
发表时间:2008-09-05
user1.delete();
自杀了。。。 User.delete(user1); 而让集合delete则构成他杀。 SO。。。 楼主自己找个豆腐解决吧。。。 |
|
返回顶楼 | |
发表时间:2008-09-05
taowen 写道 在java中,我认为应该是包含这个对象的集合的行为。没有自杀一说的,只是从一个容器中移走而已。
在c++中可以理解为释放内存吧。也不是它自己的行为,而是拥有这个指针的函数或者容器的行为。 也就是说应该是“它杀”是吧,我指的“杀”就是释放它的内存。最近忽然想起ActiveRecord中的模型对象好像是“自杀”的,即调用对象的remove方法,删除它所关联的数据库记录,不知Rails中是否如此实现。个人觉得这种实现不好,remove后对象本身的内存还在,存在悬空引用,而且对象方法内似乎也不能delete掉this?不知C++中是否如此? |
|
返回顶楼 | |
发表时间:2008-09-05
xqstation 写道 user1.delete();
自杀了。。。 User.delete(user1); 而让集合delete则构成他杀。 SO。。。 楼主自己找个豆腐解决吧。。。 你还真说对了,我现在就是被这两种选择弄得很头疼 ![]() |
|
返回顶楼 | |
发表时间:2008-09-05
diogin 写道 xqstation 写道 user1.delete();
自杀了。。。 User.delete(user1); 而让集合delete则构成他杀。 SO。。。 楼主自己找个豆腐解决吧。。。 你还真说对了,我现在就是被这两种选择弄得很头疼 ![]() 我怎么就看不出这两个有啥区别呢? |
|
返回顶楼 | |
发表时间:2008-09-05
gigix 写道 diogin 写道 xqstation 写道 user1.delete();
自杀了。。。 User.delete(user1); 而让集合delete则构成他杀。 SO。。。 楼主自己找个豆腐解决吧。。。 你还真说对了,我现在就是被这两种选择弄得很头疼 ![]() 我怎么就看不出这两个有啥区别呢? 对于不能在方法内部删除对象本身的内存的语言,还是有区别的,因为 User.delete(user1) 里面可以delete/free掉user1,而 user1.delete() 则做不到这一点。 我觉得如果user1对应的外部数据记录已经删除,则user1也不应该在内存里存在,不知大家有什么看法? |
|
返回顶楼 | |
发表时间:2008-09-05
diogin 写道 gigix 写道 diogin 写道 xqstation 写道 user1.delete();
自杀了。。。 User.delete(user1); 而让集合delete则构成他杀。 SO。。。 楼主自己找个豆腐解决吧。。。 你还真说对了,我现在就是被这两种选择弄得很头疼 ![]() 我怎么就看不出这两个有啥区别呢? 对于不能在方法内部删除对象本身的内存的语言,还是有区别的,因为 User.delete(user1) 里面可以delete/free掉user1,而 user1.delete() 则做不到这一点。 我觉得如果user1对应的外部数据记录已经删除,则user1也不应该在内存里存在,不知大家有什么看法? 哥们,你自杀了,不还要大地回收你。 |
|
返回顶楼 | |
发表时间:2008-09-05
花花公子 写道 哥们,你自杀了,不还要大地回收你。 自解。 ![]() |
|
返回顶楼 | |