vector的内存分配问题

vector的内存增长问题,其实无非是vector中size()和capacity()问题。vector的一个缺点就是它的内存分配是按照2的倍数分配内存的。当当前容量对插入元素不够时,分配一块新的内存,这块内存的容量是原vector容量 的2倍大小,然后复制旧内存,释放旧内存,可能多次涉及拷贝构造函数和析构函数,如果一个程序需要的内存超过2G的话,那么就会出现bad_alloc错 误,从而引发程序的崩溃,而这也正是vector的劣势所在。

posted @ 2016-08-09 16:23  立超的专栏  阅读(513)  评论(0编辑  收藏  举报