C++中vector容器为什么扩容时按照2倍或者1.5倍进行扩容

扩容机制 首先在VS2013底下,vector的扩容操作是每次扩容*1.5;在GCC环境下是2倍。 GCC下的扩容方式是以二倍形式扩容。 VS2013下是以1.5倍进行扩容 所以可能会有疑问: 问题一:为什么非要以倍数的形式增长,而不是以个数的形式增长。 问题二:为什么每次增长是1.5倍或者2倍形式,而不是3倍或者4倍形式增长。 详解问题一 倍数方式空间拷贝数据次数 假设总共有n个元素,以m倍的形
相关文章
相关标签/搜索