Vector的resize函数用法

vector的resize函数简介

vector 的 resize() 函数可以改变容器的大小,同时也可以改变内部元素的数量。它的语法如下:

vector<type> v;
v.resize(n);           // 将v的大小改为n,新元素的值为该type的默认值
v.resize(n, value);    // 将v的大小改为n,并将新元素的值设为value
//其中,n 代表 vector 容器的大小,value 代表新元素的值。

示例用法

#include <iostream>
#include <vector>

using namespace std;

int main() {
    vector<int> v1;     // 创建一个空的 vector 容器 v1
    v1.resize(5);       // 将 v1 的大小改为 5
    for(int i=0; i<v1.size(); i++)
        cout << v1[i] << " ";     // 输出:0 0 0 0 0

    vector<int> v2;     // 创建一个空的 vector 容器 v2
    v2.resize(5, 1);    // 将 v2 的大小改为 5,并且新元素的值为 1
    for(int i=0; i<v2.size(); i++)
        cout << v2[i] << " ";     // 输出:1 1 1 1 1

    return 0;
}

注意

请注意,当将 vector 容器的大小减小时,容器最后几个元素会被删除。例如:

#include <iostream>
#include <vector>

using namespace std;

int main() {
    vector<int> v1(5, 1);    // 创建一个值为 1 的大小为 5 的 vector 容器 v1
    v1.resize(3);            // 将 v1 的大小改为 3,最后两个元素会被删除
    for(int i=0; i<v1.size(); i++)
        cout << v1[i] << " ";     // 输出:1 1 1

    return 0;
}

当容器的内存空间不够时,resize() 函数会重新申请内存空间。这会导致将现有元素复制到一个新的内存地址,因此当 vector 容器内部的元素数量很大时,调用 resize() 函数可能会很耗时。

个人水平有限,有问题随时联系!

  • 15
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值