可以发现采用采用成倍方式扩容,可以保证常数的时间复杂度,而增加指定大小的容量只能达到O(n)的时间复杂度,因此,使用成倍的方式扩容。 10.STL 中vector删除其中的元素,迭代器如何变化?为什么是两倍扩容?释放空间? __EOF__
STL vector的实现,删除其中的元素,迭代器如何变化?为什么是两倍扩容?释放空间?爱做菜的老北鼻 立即播放 打开App,流畅又高清100+个相关视频 更多 545 0 01:37 App 什么是C++模板,底层怎么实现的? 247 0 01:10 App C++中hello world 程序从开始到打印到屏幕上的全过程是什么样的? 1341 0 02:31 App C++...
5、resize()函数只改变容器的元素数目,未改变容器大小。 6、用reserve(size_type)只是扩大capacity值,这些内存空间可能还是“野”的,如果此时使用“[ ]”来访问, 则可能会越界。而resize(size_type new_size)会真正使容器具有new_size个对象。 不同的编译器,vector有不同的扩容大小。在vs下是1.5倍,在GCC下是2...