21xrx.com
2024-11-05 16:34:52 Tuesday
登录
文章检索 我的文章 写文章
C++的resize函数:调整向量或数组的大小
2023-07-11 13:32:35 深夜i     --     --
C++ resize函数 向量 数组 调整大小

在C++编程中,经常需要对向量或数组进行大小的调整。而这时,就可以使用C++的resize函数来实现。具体来说,resize函数可以通过增加或减少容器的空间大小,来调整向量或数组的大小。

在使用resize函数时,需要注意以下几个方面:

1. resize函数的参数可以是整数或标准迭代器。当参数为整数时,表示新容器大小;当参数为标准迭代器时,表示新容器范围。

2. 若容器变大,resize函数会在后面添加新元素;若容器变小,resize函数会删除后面的元素。

3. 当容器变大时,resize函数会默认将新元素进行默认初始化,即对整形变量,新元素值为0;对字符串变量,新元素值为空字符串;对bool变量,新元素值为false。

示例代码如下:

#include

#include

using namespace std;

int main(){

  vector vec;

  vec.resize(5); // 调整vec的大小为5

  for (int i = 0; i < vec.size(); ++i){

    cout << vec[i] << " "; // 输出默认值0

  }

  cout << endl;

  vec.resize(8, 2); // 在vec的后面添加3个元素,值为2

  for (int i = 0; i < vec.size(); ++i){

    cout << vec[i] << " "; // 输出5个0和3个2

  }

  cout << endl;

  vec.resize(6); // 删除vec的后两个元素

  for (int i = 0; i < vec.size(); ++i){

    cout << vec[i] << " "; // 输出5个0和1个2

  }

  cout << endl;

  return 0;

}

以上代码中,我们先定义了一个名为vec的整型vector,并对其进行了resize操作。第一次调用resize函数时,我们将vec调整为大小为5,这时由于vec中尚未包含任何元素,所以resize函数默认对其进行了初始化,并输出了5个0。

之后,我们再次调用resize函数,将vec调整为大小为8,并在后面添加3个值为2的元素。而此时,由于vec中已经存在了5个元素,所以resize函数只会在5个元素的后面添加新元素,并将其赋值为2。最后再次调用resize函数,将vec的大小调整为6,并删除了末尾的两个元素,输出了5个0和1个2。

通过以上代码和使用说明,我们可以看出,C++的resize函数可以方便地调整向量或数组的大小,并初始化或删除其中的元素,从而满足不同的编程需求。

  
  

评论区

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