How to fill a vector with non-trivial initial values?

后端 未结 6 1552
一向
一向 2021-02-05 12:38

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         


        
6条回答
  •  暗喜
    暗喜 (楼主)
    2021-02-05 13:32

    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));
    

提交回复
热议问题