算法
120.STL里resize和reserve的区别是什么?
在STL中,resize()和reserve()都是用于管理容器大小的函数,但它们的作用不同。
- resize()
resize()函数用于改变容器的大小,它会在必要时增加或减少容器的元素数量,使其达到指定的大小。如果指定的大小比容器的当前大小大,则在容器的末尾插入新的元素以达到指定大小;如果指定的大小比容器的当前大小小,则从容器的末尾删除元素以达到指定大小。需要注意的是,当使用resize()函数时,容器中的元素会被默认初始化。
- reserve()
reserve()函数用于预留容器的存储空间,它并不改变容器的大小。reserve()函数接受一个参数n,表示预留的存储空间大小。当我们需要向容器中添加大量元素时,可以使用reserve()函数来提前预留足够的存储空间,以避免频繁地扩展容器大小导致的性能问题。
需要注意的是,reserve()函数只是预留存储空间,并不会改变容器的大小。如果我们向容器中添加元素,容器的大小仍然会根据实际添加的元素数量而变化。同时,reserve(