如何将数组中的元素复制到C++向量中
数组 是一组存储在连续内存位置的项目。思路是将同类型的多个项目一起存储。
向量 与 动态数组 相同,具有自动调整大小的能力,在插入或删除元素时自动处理它们的存储的容器。
以下是从数组复制元素到向量的不同方式:
方法1: 幼稚的解决方案
遍历整个数组并使用push_back()函数将每个元素插入新分配的向量中。
输出:
方法2:初始化期间的基于范围的赋值
在C ++中,Vector类提供了接受范围的构造函数,因此要从数组元素创建向量,请在要复制到向量i.e的向量初始化期间将范围的第一个和最后一个位置的指针作为参数传递(arr,arr + N)。
输出:
注意,用于指向STL容器的内存地址的迭代器也可以使用。
- std::begin(arr) – 指向数组第一个元素的迭代器。
std::end(arr)- 指向数组最后一个元素之后的迭代器。
vector<int> v(begin(arr),end(arr));
方法3:使用内置函数insert(position、first_iterator、last_iterator): insert()是C ++ STL中的内置函数,它在指定位置的元素之前插入新元素,有效地通过插入的元素数量增加容器的大小。可以传递范围作为参数,而不是单个值。
以下是上述方法的实现:
输出
输出