我来我网
https://5come5.cn
 
您尚未 登录  注册 | 菠菜 | 软件站 | 音乐站 | 邮箱1 | 邮箱2 | 风格选择 | 更多 » 
 

本页主题: 这个怎么释放... 显示签名 | 打印 | 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题

kenneygf



性别: 帅哥 状态: 该用户目前不在线
头衔: 星星在眨眼~
等级: 前途无量
发贴: 6207
威望: 0
浮云: 1131
在线等级:
注册时间: 2004-05-22
最后登陆: 2009-07-12

5come5帮你背单词 [ appointment /ə'pointmənt/ n. 约会,约定,任命,委派 ]


这个怎么释放...

定义个函数

int *pPointer;
void Function()
{
  pPointer=new int;
  *pPointer=15; }

如果在main()中调用2次Function的话,,该如何释放pPointer???是不是只能每次分配之后就释放....


-----------------------------------------------------------------------------------------------
#include <iostream>

using namespace std;

int *pPointer;
void Function()
{
  pPointer=new int;
  *pPointer=15; }
 
int main()
{
  Function();
  cout<<pPointer<<endl;
 
  Function();
  cout<<pPointer<<endl;
 
  system("PAUSE");
  return 0;
  }



得出结果是 0x3d3d90
              0x3d3df8

好像并不是紧接着分配的~
顶端 Posted: 2006-10-30 20:54 | [楼 主]
piaoliu



性别: 帅哥 状态: 该用户目前不在线
等级: 栋梁之材
发贴: 926
威望: 0
浮云: 1124
在线等级:
注册时间: 2004-12-25
最后登陆: 2011-05-16

5come5帮你背单词 [ fraud /fro:d/ n. 欺骗,假货 ]


ms堆区是分块管理的,所以不是连着的
因为function是对全局指针变量赋值,所以为了防止内存泄漏,每次在调用function以前都要free一下pPointer(如果不等于NULL的话)
顶端 Posted: 2006-11-01 22:09 | [1 楼]
我来我网·5come5 Forum » 程序员之家

Total 0.009207(s) query 6, Time now is:11-24 02:36, Gzip enabled
Powered by PHPWind v5.3, Localized by 5come5 Tech Team, 黔ICP备16009856号