没有比这跟容易得分的问题了!(C++中的指针泄露)

AllanJD 2004-06-22 06:38:52
求一段简单的能够实现C++指针泄露的简单源程序!!!
...全文
163 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
yafizyh 2004-06-25
  • 打赏
  • 举报
回复
程序退出后,windows会自动清除原程序分配的内存,所谓泄露是指在程序运行过程中,分配的内存无法释放,无法被其他程序使用。
int main()
{
int* ptr = new int(3);

}
一闪就过了,对系统没什么影响。
peter9606 2004-06-25
  • 打赏
  • 举报
回复
搂住就是要一个野指针咯?
Mephisto_76 2004-06-25
  • 打赏
  • 举报
回复
试用auto_ptr来做,大概就是下面的样子:

template<class T>
class SmartPointer
{
public:
SmartPointer( T* t )
{
_t = t;
}

~SmartPointer()
{
if( _t )
{
delete _t;
_t = 0;
}
}

private:
T _t;

...
};


int main()
{
SmartPointer<int> intPointer(new int(3));
...
}

这样就不会有内存泄漏了。
leonchew 2004-06-25
  • 打赏
  • 举报
回复
楼上的朋友们都写了。
简单说泄漏,就是你动态分配了内存,却没有回收(释放),而程序运行过程中,
系统又无法帮助你自动回收(及其垃圾回收机制)。楼上的程序基本都是new了
没有delete,或者不是对应的delete。
dot99 2004-06-22
  • 打赏
  • 举报
回复
指针泄漏~~~

20分,我要了~~~

char * pch;
~~~~~~~~~~~~~~ 看~~~ 泄漏给你看了, 本来在我程序里头的~~

哈哈哈哈~~~~
奇伢 2004-06-22
  • 打赏
  • 举报
回复
上面已经给出了。就是申请一段内存,然后不释放就可以了!
yidu 2004-06-22
  • 打赏
  • 举报
回复
int main()
{
int* ptr = new int[5];
delete ptr;
}

or

int main(()
{
int* ptr = new int;
ptr = new double;
}
kaphoon 2004-06-22
  • 打赏
  • 举报
回复
楼主说的应该是内存泄露吧
int main()
{
int* ptr = new int(3);

}
donghongtao 2004-06-22
  • 打赏
  • 举报
回复
楼主,不明白你的意思了,那你就申请个指针,然后不释放就是了!不就实现你的目的了吗?不明白你的确切的意思是什么样子的。

64,633

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧