STL vector
vector与array对比,最大的差别在于空间的运用的灵活性,vector是动态空间,随着元素的加入,它的内部机制会自行扩充空间以容纳新元素。 vector的实现技术,关键在于其对大小的控制以及重新配置时数据移动效率。扩充空间要经过配置新空间、数据移动、释还旧空间的步骤。 vector采用的数据结构很简单,为线性连续空间,它以两个迭代器start和finish分别指向配置得来的连续空间中目前已使用的范围,迭代器end_of_storage指向整块连续空间(含备用空间)的尾端。 为了降低空间配置时的速度成本,vector实际配置的大小可能比客户端需求容量要更大一些,以备将来的扩容。因为如果一旦
用户评论