首先,vector.clear() 与分配内存有关,目的为了节省时间。
vector有两个参数,分别为 size 和 capacity。
size参数:记录vector中存储了多少数据个数。
capacity参数:表示vector容器向内存中申请的内存区域可以存储多少数据。
一般情况 capacity > size 。如果capacity < size ,即申请内存区域大小并不足够存储vector容器所有的数据,则需要再次向内存区申请新的存储区域,这样做的行为就会浪费时间。
所以,在vector.push() 之前都要先将 size 大小清零,这样保证size一定小于capacity。