vector的resize
时间: 2024-04-05 22:27:59 浏览: 139
vector的resize函数用于改变vector容器的大小。当将vector的大小增加时,新元素会被添加到容器的末尾;当将vector的大小减小时,容器的最后几个元素会被删除[^1]。
以下是一个使用resize函数的示例代码:
```cpp
#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;
}
```
在上述示例中,我们首先创建了一个大小为5且初始值为1的vector容器v1。然后,我们使用resize函数将v1的大小改为3,这导致最后两个元素被删除。最后,我们使用循环遍历v1并输出其元素的值。
相关问题
vector resize
resize()函数是用来改变vector中的元素个数的,它有两个参数,分别是n和m。参数n表示vector的新的元素个数,参数m表示新添加的元素的初始化值,m可以省略。resize()函数有以下几种使用情况:
1. 当n小于当前vector的size时,resize()会将vector的size减小到n,并删除多余的元素。
2. 当n大于当前vector的size且小于vector的容量capacity时,resize()会将vector的size增加到n,并初始化新增的元素为m,如果m省略,则使用默认值。
3. 当n大于vector的容量capacity时,resize()会先增大vector的容量capacity到n,然后将新增的元素初始化为m,如果m省略,则使用默认值。此时,vector的size和capacity都会发生改变。
resize()函数常用于调整vector的大小和添加初始化元素。它可以使用多种方式调用,如clear()、push_back()、emplace_back()、pop_back()、front()、back()、size()、empty()、insert()、assign()、=(赋值为一个普通的数组)、[]、begin()和end()。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [vector容器中resize()与reserve()的区别及用法](https://blog.csdn.net/dffffffff1/article/details/124245023)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* [C++重构vector](https://download.csdn.net/download/weixin_68756152/87961116)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
C++ vector resize
C++ vector的resize()函数可以改变vector的大小,它有两个重载形式:
1. `void resize(size_type n)`:将vector的大小改为n,如果n小于当前大小,则删除多余的元素;如果n大于当前大小,则在末尾添加默认构造的元素。
2. `void resize(size_type n, const value_type& val)`:将vector的大小改为n,如果n小于当前大小,则删除多余的元素;如果n大于当前大小,则在末尾添加val指定的元素。
例如,以下代码将一个vector的大小改为10,多余的元素将被删除:
```
vector<int> v = {1, 2, 3, 4, 5};
v.resize(10);
```
以下代码将一个vector的大小改为5,多余的元素将被默认构造:
```
vector<int> v(10, 1);
v.resize(5);
```
阅读全文