将int阵列转换为c 中int的向量

Converting an array of int, to a vector of int in c++

本文关键字:int 向量 阵列 转换      更新时间:2023-10-16

我有一个像这样的数组

int A[] = {1, 2, 3, 4, 5, 6, 7}
vector<int> vec;
int index = 0;
for(int i = 0; i < A.size(); i++) {
if(some condition) {
    index = i;
}
**vec(A + index, i);**
}

如何从特定索引开始将数组转换为向量,例如上述?

您可以使用index如下。

#include <iterator>
int A[] = {1, 2, 3, 4, 5, 6, 7};
int index = 0;
for(int i = 0; i < A.size(); i++) {
if( /* some condition */ ) {
    index = i;
    break;
}
}
std::vector<int> vec ( std::begin(A) + index, std::end(A) ) ;

std::vector<int> vec(A + index, A + sizeof(A) / sizeof(A[0]));是酷猫的方式。

正如我在Internet中看到的那样以下代码:

int A[] = {1, 2, 3, 4, 5, 6, 7}
vector<int> vec;
int index = 0;
for(int i = 0; i < A.size(); i++) {
if(some condition) {
    vec.insert(vec.begin()+index,A[i]));
    index++;
}
**vec(A + index, i);**
}

请参阅此帖子以获取更多信息

将元素插入向量的特定位置