vector resize
时间: 2024-01-29 12:10:36 浏览: 101
`vector`的`resize`操作是用于改变`vector`的大小。当我们需要增加或减少`vector`中的元素数量时,可以使用`resize`操作。`resize`会改变`vector`的大小,并且如果需要的话,它会分配或释放内存。
以下是一个使用`resize`操作改变`vector`大小的示例:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec;
vec.resize(100); // 改变vector的大小为100
std::cout << "Vector size: " << vec.size() << std::endl; // 输出:Vector size: 100
return 0;
}
```
在上面的示例中,我们首先创建了一个空的`vector`对象`vec`。然后,我们使用`resize`操作将`vector`的大小改变为100。最后,我们使用`size`函数获取`vector`的大小并输出。
相关问题
vector resize方法
vector的resize方法是用来改变vector的大小的。如果参数的数值比vector的当前大小大,那么vector会用0来填充新增的元素;如果参数的数值比vector的当前大小小,那么在设置的大小和当前大小之间的元素会被删除。比较两个vector是否相等时,会比较它们的大小和对应位置上的元素是否相等。
具体来说,resize方法有两个参数:_Newsize和_Val。_Newsize用来设置vector的新大小,_Val是可选的,用来为新增的元素赋值。注意,resize方法并不会改变之前数组的值,只会改变数组的长度和新增元素的值。
下面是一个示例代码,展示了resize方法的使用:
```cpp
#include <iostream>
#include <vector>
using namespace std;
struct squareXY {
int x;
int y;
};
int main() {
squareXY rexy = {1, 2};
squareXY xy = {3, 4};
vector<squareXY> s(10, xy);
cout << "resize之前的数组:" << endl;
for (int i = 0; i < s.size(); i++) {
cout << s[i].x << "------" << s[i].y << endl;
}
s.resize(20, rexy);
cout << "resize之后的数组:" << endl;
for (int i = 0; i < s.size(); i++) {
cout << i << ":" << s[i].x << "------" << s[i].y << endl;
}
return 0;
}
```
运行以上代码,可以看到resize方法改变了vector的大小,并根据需要进行元素的填充或删除。
c++ vector resize
vector的resize函数用于改变向量的大小。它接受一个参数,表示向量的新大小。如果新大小比原来的大小小,那么多出来的元素将被删除。如果新大小比原来的大小大,那么多出来的元素将以默认值填充。
下面是一个示例代码:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
// 改变向量的大小为10,并用0填充多出来的元素
vec.resize(10);
for (int i : vec) {
std::cout << i << " ";
}
return 0;
}
```
输出结果为:1 2 3 4 5 0 0 0 0 0
阅读全文