将int数组转换为c ++中int的向量

mur*_*thi 1 c++ arrays vector

我有一个像这样的数组

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);**
}
Run Code Online (Sandbox Code Playgroud)

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

P0W*_*P0W 5

您可以使用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) ) ;
Run Code Online (Sandbox Code Playgroud)

  • 炫耀 ;-)。不要忘记在 `std::begin` 的头部加上 `#include`。 (2认同)