21xrx.com
2024-09-20 00:27:23 Friday
登录
文章检索 我的文章 写文章
C++中的resize和reserve函数用法解析
2023-07-13 22:45:58 深夜i     --     --
C++ resize reserve 函数 用法

C++中的resize和reserve函数是用于动态管理容器大小的函数。这两个函数都是在STL(Standard Template Library)中的vector、string、deque等容器中可以使用的。虽然这两个函数的作用相似,但它们之间有着明显的区别。

首先,我们来了解一下resize函数。resize函数是用来改变容器大小的函数。可以通过resize函数来增加或者减小容器的大小。具体用法如下:


vector<int> v 2;

v.resize(5);

这个例子中,将v容器的大小从原来的3改变为5。如果原来的大小小于新的大小,则会自动向容器末尾添加默认值,例如0。如果原来的大小大于新的大小,那么超出部分的元素会被删除。

除了改变容器大小之外,resize函数还可以通过指定默认值来填充新增的元素,例如:


vector<int> v 1;

v.resize(5, 0);

这个例子中,将v容器的大小从原来的3改变为5,并且新增的元素都用0来填充。

接下来,我们来看一下reserve函数。reserve函数是预留空间的函数,它可以用来预分配连续的内存空间,从而往容器中添加元素的时候可以避免频繁的内存分配。具体用法如下:


vector<int> v;

v.reserve(10);

这个例子中,预留了10个元素的空间。这样做的好处是可以在插入元素的时候避免不必要的内存分配,从而提高程序的运行效率。

需要注意的是,reserve函数并不会改变容器的大小,只是为容器预留了一定的空间。如果超过了预留的空间,还是需要重新分配内存。因此,在使用reserve函数的时候,需要确保预留的空间足够。

综上所述,resize和reserve函数可以有效地管理容器的大小,提高程序的运行效率。在使用的时候,需要注意它们之间的区别,以便正确地应用到实际的程序中。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复