| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1415 人关注过本帖
标题:[讨论]成员函数内new的空间与普通函数内new的空间有何不同?
只看楼主 加入收藏
Arcticanimal
Rank: 3Rank: 3
等 级:论坛游民
威 望:7
帖 子:341
专家分:20
注 册:2007-3-17
收藏
 问题点数:0 回复次数:5 
[讨论]成员函数内new的空间与普通函数内new的空间有何不同?
链表的实现中,增加结点的函数中会为一个新结点开辟新的内存空间,函数执行结束后这片内存空间仍然可以通过指针正常的使用,而且不会被其他的程序占用.
为什么普通的函数开辟的新的内存空间在函数执行结束后就被delete,使用它会导致不确定结果呢?
搜索更多相关主题的帖子: 何不同 函数 new 空间 成员 
2007-03-26 21:37
dragonfly
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:1024
专家分:0
注 册:2006-3-20
收藏
得分:0 
new和delete成对出现,没看懂你最后一行描述的意思

2007-03-28 13:42
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 

下面就是普通函数啊,这是正常的,可以访问啊!!!

int *func()
{
int *p=new int[10];
memset(p,0,sizeof(int)*10);
return p;
}
void main()
{
int *p=func();
cout<<*p;
if(p)delete []p;
}


[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2007-03-28 13:48
Arcticanimal
Rank: 3Rank: 3
等 级:论坛游民
威 望:7
帖 子:341
专家分:20
注 册:2007-3-17
收藏
得分:0 

哎呀,搞错了!
浪费大家时间了


try new catch
2007-03-28 19:45
song4
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:38
帖 子:1533
专家分:4
注 册:2006-3-25
收藏
得分:0 
是你没有返回吧???
和我大一课程设计的问题一样

嵌入式 ARM 单片机 驱动 RT操作系统 J2ME LINUX  Symbian C C++ 数据结构 JAVA Oracle 设计模式 软件工程 JSP
2007-03-28 21:35
sphinx2002
Rank: 1
等 级:新手上路
威 望:1
帖 子:13
专家分:0
注 册:2007-3-29
收藏
得分:0 
回复:(wfpb)下面就是普通函数啊,这是正常的,可以...
在函数func中的指针p指向的是new分配的数组首地址,返回的指针和p是指向同一个地址的,因此在main函数中释放p的地址空间其实就是释放了在func函数中分配的地址,所以程序正常

楼主说的链表中的分配节点中的指针应该是成员函数,而链表类是通过析构函数来释放空间的,普通函数只有在函数体内调用delete
2007-03-30 13:23
快速回复:[讨论]成员函数内new的空间与普通函数内new的空间有何不同?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012142 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved