vector的内存增长问题,其实无非是vector中size()和capacity()问题。vector的一个缺点就是它的内存分配是按照2的倍数分配内存的。当当前容量对插入元素不够时,分配一块新的内存,这块内存的容量是原vector容量 的2倍大小,然后复制旧内存,释放旧内存,可能多次涉及拷贝构造函数和析构函数,如果一个程序需要的内存超过2G的话,那么就会出现bad_alloc错 误,从而引发程序的崩溃,而这也正是vector的劣势所在。
相关文章
- 01-07python – Tensorflow分配内存:38535168的分配超过系统内存的10%
- 01-07关于OJ上内存问题的试验
- 01-07Opencv遇到的程序内存增长问题及用Opencv显示汉字
- 01-07PHP大量数据循环时内存耗尽问题的解决方案
- 01-07swoole 内存泄露的问题有没有好的办法解决
- 01-07没有什么内存问题,是一行python代码解决不了的
- 01-07在内存充足时malloc函数分配内存失败的原因及解决
- 01-07Golang中的append是否会帮助nil类型的变量分配内存?
- 01-07关于Android中的内存溢出和内存泄漏的问题
- 01-07vector系列--正确释放vector的内存(clear(), swap(), shrink_to_fit())