C++ vector 容器赋值
时间: 2024-10-18 08:06:31 浏览: 9
C++的`std::vector`是一个动态数组容器,它允许你在运行时添加、删除元素。当你想要将一个`vector`的所有内容复制到另一个`vector`时,可以使用赋值操作符`=`, 或者专门用于此目的的`assign()`函数。
**直接赋值(Copy Assignment):**
```cpp
std::vector<int> vec1; // 假设vec1已初始化
std::vector<int> vec2 = vec1; // 这里vec2现在拥有vec1的所有元素
// 如果vec1的内容改变,vec2也会随之改变,因为它们共享了相同的内存区域。
```
**使用`assign()`函数:**
```cpp
std::vector<int> vec1;
// ... (填充vec1)
std::vector<int> vec2; // 空的vec2
vec2.assign(vec1.begin(), vec1.end()); // 将vec1的所有元素复制到vec2
```
`assign()`函数接受两个迭代器,第一个指向源范围的开始,第二个指向结束,所以不会改变源向量。
相关问题
C++中vector容器赋值方式
在 C++ 中,可以使用以下方式对 vector 容器进行赋值:
1. 使用赋值运算符(=):可以将一个 vector 容器赋值给另一个 vector 容器,例如:
```
std::vector<int> v1 = {1, 2, 3};
std::vector<int> v2 = v1; // v2 的元素和 v1 的元素相同
```
2. 使用 assign() 函数:可以将一个 vector 容器的元素替换为另一个 vector 容器的元素,例如:
```
std::vector<int> v1 = {1, 2, 3};
std::vector<int> v2 = {4, 5, 6};
v1.assign(v2.begin(), v2.end()); // v1 的元素被替换为 v2 的元素
```
3. 使用 resize() 函数:可以改变 vector 容器的大小,并赋初值,例如:
```
std::vector<int> v1 = {1, 2, 3};
v1.resize(5, 0); // v1 的大小变为 5,多出的两个元素赋初值为 0
```
opencv 如何给vector容器赋值
可以使用vector的assign()函数来给容器赋值,示例代码如下:
```c++
#include <iostream>
#include <vector>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main()
{
// 定义一个vector容器
vector<int> myvector;
// 给vector容器赋值
myvector.assign(5, 10);
// 打印vector容器中的值
for (int i = 0; i < myvector.size(); i++)
{
cout << myvector[i] << " ";
}
return 0;
}
```
输出结果为:
```c++
10 10 10 10 10
```
其中,assign()函数的第一个参数表示要赋值的元素数量,第二个参数表示要赋的值。
阅读全文