| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4821 人关注过本帖
标题:C++中有没有类似realloc功能的运算符?
取消只看楼主 加入收藏
shuijingoj
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2009-7-26
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
C++中有没有类似realloc功能的运算符?
以前用C,都是用malloc分配空间,表空间满后用realloc重新分配,这样可以在保留原数据的情况下扩大表空间,

今天想用C++的new写一个动态分配空间的顺序线性表,却不知道表满后可以如何扩大空间,不知道C++有没有类似realloc功能的运算符?

不会是要用new新开一个更大空间,然后把数据转过去,再释放原空间吧?这样效率也太低了点……
搜索更多相关主题的帖子: 运算符 realloc 
2009-07-26 15:23
shuijingoj
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2009-7-26
收藏
得分:0 
以下是引用cxn8801在2009-7-26 16:34的发言:

先NEW一个指大小的数组
如果满了再重新NEW一个更大的数组
把第一次NEW的数组复制到新NEW的数组
用DELETE删除原先的第一次NEW的数组
(也可以用STL的容器如果空间不够,它们会自动重新分配内存)


嗯……跟我想的一样,没有别的办法了么?
2009-07-26 17:53
shuijingoj
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2009-7-26
收藏
得分:0 
以下是引用pangding在2009-7-27 00:48的发言:

realloc其实也是重新分配了一个新的更大空间,然后把以前的东西拷贝过去了。只是它是在函数里干的,没让你觉出来而已。
在C中的内存分配,只需申请空间,没用作初始化什么的工作,所以其实不太复杂。

C++中new的 ...



解释得很详细,非常感谢!
2009-07-27 11:27
快速回复:C++中有没有类似realloc功能的运算符?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025507 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved