游戏开发论坛

 找回密码
 立即注册
搜索
查看: 5167|回复: 19

动态数组

[复制链接]

21

主题

53

帖子

55

积分

注册会员

Rank: 2

积分
55
发表于 2004-6-29 09:00:00 | 显示全部楼层 |阅读模式
请问在函数内用new定义的动态数组指针,在函数执行完之后会不会自动释放?

16

主题

158

帖子

168

积分

注册会员

Rank: 2

积分
168
发表于 2004-6-29 09:10:00 | 显示全部楼层

Re:动态数组

好像有new就必须要delete

21

主题

53

帖子

55

积分

注册会员

Rank: 2

积分
55
 楼主| 发表于 2004-6-29 09:20:00 | 显示全部楼层

Re:动态数组

如果是这样的话,那么我要返回该值怎么办?

3

主题

186

帖子

190

积分

注册会员

Rank: 2

积分
190
发表于 2004-6-29 09:34:00 | 显示全部楼层

Re:动态数组

如果你要在一个函数里面申请的内存返回给其它程序用,那么你只需要在其它程序段用完这段内存时delete掉就可以了

1万

主题

1万

帖子

2万

积分

管理员

中级会员

Rank: 9Rank: 9Rank: 9

积分
20527
发表于 2004-6-29 09:36:00 | 显示全部楼层

Re:动态数组

不建议把一个函式里面new出来的内存返回给外面的函式,这样不安全,你可以这样,在外部事先new出一个buffer,然后把这个buffer指针传入给函式。

21

主题

53

帖子

55

积分

注册会员

Rank: 2

积分
55
 楼主| 发表于 2004-6-29 10:53:00 | 显示全部楼层

Re:动态数组

谢谢!

0

主题

16

帖子

16

积分

新手上路

Rank: 1

积分
16
发表于 2004-6-29 11:02:00 | 显示全部楼层

Re:动态数组

可用标准库的auto_ptr

16

主题

158

帖子

168

积分

注册会员

Rank: 2

积分
168
发表于 2004-6-29 14:06:00 | 显示全部楼层

Re: Re:动态数组

sea_bug: Re:动态数组

不建议把一个函式里面new出来的内存返回给外面的函式,这样不安全,你可以这样,在外部事先new出一个buffer,然后把这个buffer指针传入给函式。

那是不是在外面要事先要申请足够大的空间啊

21

主题

53

帖子

55

积分

注册会员

Rank: 2

积分
55
 楼主| 发表于 2004-6-29 16:41:00 | 显示全部楼层

Re:动态数组

又请问一个问题:
在函数内定义的指针需要释放吗?
现在菜鸟我遇到一个问题:
int  *a=new int [10];//全局定义
int *b=a;//函数内定义
那么在函数内执行delete b后,a有没有变化?
因为在另外一个函数中又使用到了a,反正我的程序中每次执行到这一句就出问题了。

59

主题

1104

帖子

1199

积分

金牌会员

Rank: 6Rank: 6

积分
1199
发表于 2004-6-29 17:52:00 | 显示全部楼层

Re:动态数组

delete b;
a就被delete了,但是这个时候a和b的值都不是0,如果这个用a或者b的地址访问的话,就会出错。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-7-3 00:36

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表