使用vector时,读入数据很大时,会很缓慢,要预分配一下空间,像vector v,可以写成v.reserve(100000),那么对于vector>的如何分配?求教大神
应该是heapalloc在堆上分配内容的。
默认vector好像是2M?记得不是太清楚,反正默认是有一个大小的,然后如果不够了,会自动翻倍。
reserve就是预分配的,vector分配采用连续的空间,你可以把它当作数组来用。设置reserve,vector后台就会生成_一个N*sizeof(type)的空间_