了修的窝
首页
新随笔
联系
聚合
管理
随笔 - 2 文章 - 17 trackbacks - 0
<
2009年2月
>
日
一
二
三
四
五
六
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
1
2
3
4
5
6
7
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
(1)
给我留言
查看公开留言
查看私人留言
随笔档案
(2)
2009年2月 (1)
2009年1月 (1)
搜索
最新评论
1. re: 痛,用时间衡量
8成失恋了:-)
--true
2. re: 一道有意思的题目,大家看看输出:)
一个简单的单向链表。
析构函数中delete操作,不断的调用下一个节点的析构函数和释放堆空间。
结论是没有内存泄漏。
--Zero
3. re: 一道有意思的题目,大家看看输出:)
那楼主是不是要Delete[] pB呢?
--witer666
4. re: 一道有意思的题目,大家看看输出:)
评论内容较长,点击标题查看
--alexandercer
5. re: 一道有意思的题目,大家看看输出:)
格式果然有问题,俺的缩进都没有了~~~~晕。。。。
--alexandercer
6. re: 一道有意思的题目,大家看看输出:)
评论内容较长,点击标题查看
--alexandercer
7. re: 一道有意思的题目,大家看看输出:)
哈哈 个人感觉这个东西比较有意思 自然也有高人觉着无聊
关于内存泄漏的事情没有追 没有机器哈
大家踊跃讨论啊
--了修
8. re: 一道有意思的题目,大家看看输出:)
仔细看了下,这样的结果就是正常的啊,疯了!
--梦在天涯
9. re: 一道有意思的题目,大家看看输出:)
评论内容较长,点击标题查看
--alexandercer
10. re: 一道有意思的题目,大家看看输出:)
评论内容较长,点击标题查看
--zuhd
阅读排行榜
1. 一道有意思的题目,大家看看输出:) (1467)
2. 痛,用时间衡量(200)
评论排行榜
1. 一道有意思的题目,大家看看输出:) (16)
2. 痛,用时间衡量(1)
2009年2月4日
痛,用时间衡量
两年。心总是映着月色泛起圈圈涟漪,只有丝丝缕缕青烟才能遮住我的眼,截断那思绪……
两年……
两年。我学会了放弃,却不懂得忘记;学会了微笑,而沉默是不变的主旋律;学会了生活,也失去了目标;学会了快乐,依旧有人在抽泣,泪滴落在杯中泛起圈圈涟漪。
两年……
许多个两年之后,皎月当空……
posted @
2009-02-04 09:06
末檐儿@了修 阅读(200) |
评论 (1)
|
编辑
收藏
2009年1月12日
一道有意思的题目,大家看看输出:)
一会儿再把分析转过来。
#include
<
iostream
>
using
namespace
std;
class
A
{
public
:
A(
int
n):val(n){}
protected
:
int
val;
};
class
B:
public
A
{
public
:
B(
int
n):A(n)
{
pB
=
(n
>
0
?
new
B(n
-
1
):
0
);
}
~
B(){delete pB;}
void
Display()
{
cout
<<
val
<<
endl;
if
(pB
!=
0
)pB
->
Display();
}
private
:
B
*
pB;
};
int
main()
{
B b(
4
);
b.Display();
return
0
;
}
==================================================================
程序的运行结果是:
4
3
2
1
0
===================================================================
tangshuiling
给出的解释:
B(int n):A(n)
{
pB=(n>0? new B(n-1):0);
}
B b(4); /**用 4 初始化 A 类成员 val, val=4*/
/**此时 n=4 满足大于 0 的条件,调用 new B(3),同时栈要维护现场,
存储 val=4,pb=new B(3) 产生的对象地址设为 pb1 以及函数的下个语句
地址,此时是‘}’就相当于return。
*/
依次类推栈中保存了 (val=4,pb1) (val=3,pb2) (val=2,pb3) (val=1,pb4) 最后 val=0, pb=0
,遇到‘}’符号本应该 return 的,但由于此时栈不空,因此还必须做出栈的操作,因此,最后出栈是:val=4, pb1。
b.Display();
调用此句,显然此时 val=4,pb=pb1 pb1->display(); 此时 val 应该是
等于3,pb1=new B(3); 依次类推:
pb2->display(); val=2
pb3->display(); val=1
pb4->display(); val=0
此时 pb=0,不满足调用条件直接 return 了
from:
http://topic.csdn.net/u/20090109/00/67841ac5-3197-4842-b0e9-ce3c6aa962d9.html
posted @
2009-01-12 09:34
末檐儿@了修 阅读(1467) |
评论 (16)
|
编辑
收藏
仅列出标题