搜索
编程论坛
→
开发语言
→
C++论坛
→
『 C++教室 』
→ C++中有没有类似realloc功能的运算符?
标题:
C++中有没有类似realloc功能的运算符?
取消只看楼主
shuijingoj
等 级:
新手上路
帖 子: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
等 级:
新手上路
帖 子:4
专家分:0
注 册:2009-7-26
第
2
楼
得分:0
以下是引用
cxn8801
在2009-7-26 16:34的发言:
先NEW一个指大小的数组
如果满了再重新NEW一个更大的数组
把第一次NEW的数组复制到新NEW的数组
用DELETE删除原先的第一次NEW的数组
(也可以用STL的容器如果空间不够,它们会自动重新分配内存)
嗯……跟我想的一样,没有别的办法了么?
2009-07-26 17:53
shuijingoj
等 级:
新手上路
帖 子:4
专家分:0
注 册:2009-7-26
第
3
楼
得分:0
以下是引用
pangding
在2009-7-27 00:48的发言:
realloc其实也是重新分配了一个新的更大空间,然后把以前的东西拷贝过去了。只是它是在函数里干的,没让你觉出来而已。
在C中的内存分配,只需申请空间,没用作初始化什么的工作,所以其实不太复杂。
C++中new的 ...
解释得很详细,非常感谢!
2009-07-27 11:27
3
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-280594-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.163027 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved