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() 函数可能会很耗时。
个人水平有限,有问题随时联系!
更多推荐
已为社区贡献3条内容
所有评论(0)