鱼C论坛

 找回密码
 立即注册
查看: 2230|回复: 1

对于这段代码不解。

[复制链接]
发表于 2013-12-10 15:29:36 | 显示全部楼层 |阅读模式
4鱼币
本帖最后由 未来丶梦而已 于 2013-12-10 15:30 编辑
void StaffManage::AddIndexItem(const IndexType &e) //在索引表中增加索引项 
{
 if(count>=maxsize) //索引表溢出
 { 
maxSize = maxSize + NUM_OF_INCREMENT; //增加索引表容量 
IndexType *tmpIndexTable = new IndexType[maxSize]; //临时索引表
 for (int i = 0;i<count;i++)
 tmpIndexTable[i] = indexTable[i]; //复制索引表 
delete []indexTable; //释放索引表存储空间 
indexTable = tmpIndexTable; //指向临时索引表 
} 
indexTable[count++]=e; 
//加入到索引表中
 } 
把原来的索引表释放到新的索引表
为什么把原来的索引表释放了。
还要指向新的。再添加东西进索引表。
为什么不直接在原来的索引表加内容。

最佳答案

查看完整内容

可能是因为//索引表已经溢出了,再也不能装新的东西了, 所以要建立一个新的临时索引表, 以前那个自然就没用了,留着占地方,自然就要释放掉咯, 然后就可以指向一个新的,比原来那个更大的,用来存更多东西。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-12-10 15:29:37 | 显示全部楼层
可能是因为//索引表已经溢出了,再也不能装新的东西了,
所以要建立一个新的临时索引表,
以前那个自然就没用了,留着占地方,自然就要释放掉咯,
然后就可以指向一个新的,比原来那个更大的,用来存更多东西。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-23 11:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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