摘要:
昨天看C++里面的容器部分,发现vector的特性很独特:vector对于随机访问有很好的效率,猜想可能是顺序存储vector对随机插入和删除的效率不高,这种特性也是由顺序存储引起的vector容器的容量是自增长的,并不是一开始申请很大一块内存然后直到撑满,而是满了后容量加倍。这种特性跟delphi的TList特别像,在delphi里面,放一个array of pointer的指针,这个指针所指向的空间的内存是动态增长的,容量到达后就增加一个delta,它的增删改查,分别是这么实现的:增加分为两种情况: (1)在末尾增加:首先判断容量满了没有,如果没有满则直接在数组后面赋值,如果满了就要增加 阅读全文