C语言中的realloc函数功能用C++怎么实现

 我来答
L_o_o_n_i_e
2011-11-30 · TA获得超过4.2万个赞
知道大有可为答主
回答量:8507
采纳率:38%
帮助的人:5379万
展开全部
C++ 用法一样。
动态数组,第一次分配 必须用 malloc ! 以后的重新分配/再分配 就用 realloc,可以多次,根据需要增加单元。

int *a;
a = (int *) malloc(sizeof(int) * ARR_SIZE); // 第一次分配
。。。
if (i >= ARR_SIZE-1) {
ARR_SIZE=ARR_SIZE+100; // 增加100个
realloc(a,sizeof(int) * ARR_SIZE); // 再分配,老单元里的数值不会被破坏
}
1109277103
2011-11-29 · TA获得超过256个赞
知道小有建树答主
回答量:153
采纳率:0%
帮助的人:125万
展开全部
C++中好像没有这个函数,一般是链表类中公有函数中的构造结点函数来实现,realloc函数只在C语言程序中使用过。
追问
我是建一个线型表,没这个函数不行哈,C++中又不想用C的函数
追答
链表可以以类的形式定义,
链表结点的建立可以用构造函数来实现,
对链表的操作可以用公有函数来实现,
其实跟C中创建链表很像,只不过者使用类类定义链表;
如果你有C++教学用书的话,上面应给有怎么用c++语言来创建链表的;
或是看些C++版的数据结构书也行,只不过上面只教你创建链表的算法思想,没有完整的程序;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Mezxh
2011-11-30 · 超过12用户采纳过TA的回答
知道答主
回答量:25
采纳率:0%
帮助的人:41.7万
展开全部
定义一个函数,在里面,一个指针存指向你本来指针的内存,然后delete本来指针,重新分配你后来需要的内存,然后用memcpy这个函数把本来指针的内容存放到新分配的内存中去,然后delete那个临时的指针,然后返回重新定义的指针就可以了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式