BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #45510同步于 2010/11/1
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

vector的capacity发生了扩容,内部的机制是如何处理的呢?

starwars
2010/11/1镜像同步1 回复
vector的capacity发生了扩容,肯定要发生内存的扩容,我的疑问如下: 1。底层是调用什么函数实现的内存扩容,难道还是malloc或者new么。我好像模糊地记得不是用new 或者malloc 2. 内存扩容,是重新申请一块新内存将旧数据拷贝到新内存中,还是从旧内存的末尾补充申请新的内存空间。 我在VC下观察发现,一旦发生扩容数组元素的内存地址会发生改变,看样子是前者,也就是重新将数据拷贝到新的内存空间中。 vector能不能直接在旧内存后面直接扩容呢?
订阅后,新回复会通过你的通知中心匿名送达。
1 条回复
FadeToBlack机器人#1 · 2010/11/1
realloc