请教关于内存的问题!

xxiahui 2004-06-14 09:52:46

在用new申请内存时,后面在用的时候,经常会越界,然后delete的时候会出错。

有没有什么办法,或者debug工具,在我用错的时候就指出来,这样调试会简单一点。

谢谢!
...全文
82 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
qwertasdfg123 2004-06-17
  • 打赏
  • 举报
回复
重载operator[]
huche 2004-06-15
  • 打赏
  • 举报
回复
用智能指针啊,就不担心了:)
antijpn 2004-06-15
  • 打赏
  • 举报
回复
= =bbb,那还不是重载operator[]以后才assert吗?那还不如用异常捕捉呢
nj_draker 2004-06-15
  • 打赏
  • 举报
回复
经常会越界,说明了你的程序考虑的很不周到,这才是delete出错的根源。

斩草要除根,才是百年大计。
dot99 2004-06-15
  • 打赏
  • 举报
回复
type operator[](int n) {
assert(n>=0 && n <= 5);
return ........
}
dot99 2004-06-15
  • 打赏
  • 举报
回复
assert边界~~~
我不是说assert越界后的那个索引~
antijpn 2004-06-14
  • 打赏
  • 举报
回复
自己动手检查边界

assert有用吗?怀疑
hoo000 2004-06-14
  • 打赏
  • 举报
回复
下载专业的分析工具:rational purify, valgrind等
http://community.csdn.net/Expert/topic/3091/3091910.xml?temp=.3644983
帮忙看一下我的问题,里面讲了很多内存检测工具和使用方法
ibelieveicandie 2004-06-14
  • 打赏
  • 举报
回复
用标准C++库,比如vector,取代手工的new/delete
dot99 2004-06-14
  • 打赏
  • 举报
回复
1.用assert()宏~release下完全没有开销~
2.对operator[]重载~
3.工具嘛,DevPartner不错~

64,683

社区成员

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

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