vector的assign函数
vector是C++STL中的一个容器,它能够存储一系列同类型的元素,并且支持动态扩展。在vector中,我们可以使用assign函数来为vector赋值。本文将详细介绍vector的assign函数。
一、assign函数的定义和用法
vector的assign函数用来为vector赋值,其定义如下:
```c++
void assign(size_type n, const value_type& val);
void assign(InputIterator first, InputIterator last);炒竹笋
```
其中,第一个参数n表示要赋值的元素个数,第二个参数val表示要赋的值。第二个版本的assign函数用迭代器指定要赋值的元素的范围,即[first, last)。
二、assign函数的示例
下面通过一些示例来展示assign函数的使用。
1. 使用整数赋值
```c++
#include <iostream>
#include <vector>
动漫头像男生冷酷霸气 using namespace std;
描写老师的诗 int main() {
vector<int> v1;
v1.assign(5, 10);
for (int i = 0; i < v1.size(); i++) {
cout << v1[i] << ' ';
}
cout << endl;
return 0;
}
```
输出结果为:
报道和报到 ```
氢氯噻嗪片说明书 10 10 10 10 10
```
上述代码中,我们创建了一个空的vector v1,并使用assign函数将其赋值为5个值为10的整数。最后,我们使用for循环遍历vector并输出其中的元素。
2. 使用迭代器赋值
阅读课本 ```c++
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> v1;
int arr[] = {1, 2, 3, 4, 5};
v1.assign(arr, arr + sizeof(arr) / sizeof(int));
for (int i = 0; i < v1.size(); i++) {
cout << v1[i] << ' ';
}
cout << endl;
return 0;
}
```
输出结果为:
汽车折纸
```
1 2 3 4 5
```
上述代码中,我们创建了一个空的vector v1,并使用assign函数将其赋值为数组arr中的元素。我们通过arr和arr + sizeof(arr) / sizeof(int)来指定要赋值的元素的范围。最后,我们使用for循环遍历vector并输出其中的元素。
三、assign函数的注意事项
在使用assign函数时,需要注意以下几点:
1. 使用整数赋值时,assign函数会清空vector并重新分配内存空间。
2. 使用迭代器赋值时,assign函数会将vector的元素替换为指定范围内的元素,原有的元素会被覆盖。
3. assign函数不会改变vector的容量,如果赋值的元素个数大于vector的容量,vector会自动扩容。
毒瘾发作的症状 四、总结
本文介绍了vector的assign函数,包括其定义、用法和注意事项。assign函数是vector中
一个非常有用的函数,可以方便地为vector赋值。在使用assign函数时,需要注意其具体的使用场景,以免出现错误。