vector重新分配内存时容量增长的规律

unistd68 2017-03-20 01:40:32
各位前辈,关于vector重新分配内存时容量增长大小的规律的问题,我一直纠结了很久,从看源码到自己代码实现,发现两者的规律不相同,烦请解释一下。
os:win10 ,64位;
编译工具:vs2015 pro;
vector重新分配容量的源码:

我自己代码实现:

运行结果是:



从源码来看,每次vector重新分配内存时会分配原容量的2倍,但是从我自己实现的代码运行结果来看,每次分配是原容量的150%,。这种情况该如何理解?
...全文
534 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
unistd68 2017-03-20
  • 打赏
  • 举报
回复
引用 3 楼 u010165006 的回复:
STL有几个不同的实现,不同的编译环境带的可能不同。


感谢,确实是和os或者编译器有关,我在ubuntu下使用g++来测试,增长的容量确实是之前的2倍
ooolinux 2017-03-20
  • 打赏
  • 举报
回复
STL有几个不同的实现,不同的编译环境带的可能不同。
unistd68 2017-03-20
  • 打赏
  • 举报
回复
源码是sgi官网下的,v3.3的,库是vs2015自带的
ooolinux 2017-03-20
  • 打赏
  • 举报
回复
源码和库是对应的吗?

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧