I know how to fill an std::vector with non-trivial initial values, e.g. sequence numbers:
void IndexArray( unsigned int length, std::vector&a
If you have a C style array you can use std:copy, e.g.,
int c_array[] = {3,4,5};
const int* pbegin = &c_array[0];
const size_t c_array_size = sizeof(c_array) / sizeof(c_array[0]);
const int* pend = pbegin + c_array_size;
std::vector v;
v.reserve(c_array_size);
std::copy(pbegin, pend, std:back_inserter(v));