2016-03-21 53 views
0

std::vector V包含元素a1, a2 ,a3, a4, a5, a6,我需要將a2中的元素複製到a4中新的std::vector NV將一段載體複製到另一個載體中

如何將矢量的範圍複製到新的矢量中? 我按照建議做了我的代碼,但仍然無法弄清楚?涉及的部分就是這一部分。

     vector<int>::const_iterator first = v.begin() + i+1; 
         vector <int>::const_iterator last = v.begin() + i+k; 
         vector<int>:: nv(first, last); 

回答

0

您可以構建NV直接使用此:

std::vector<T> NV(std::next(V.begin(),1),std::next(V.begin(),3)); 

例子:

#include <iostream> 
#include <string> 
#include <vector> 
#include <iterator> 
#include <algorithm> 
int main() 
{ 
    auto print=[](const auto& container){ 
     for(const auto& item:container){ 
      std::cout << item << "\t";  
     } 
     std::cout << "\n"; 
    }; 
    std::vector<std::string> V{ "a1", "a2" ,"a3", "a4","a5","a6"}; 
    print(V); 
    std::vector<std::string> NV(std::next(std::begin(V),1),std::next(std::begin(V),4)); 
    print(NV); 
} 

Live Demo

+0

@Human HELFAWIü可以看athe上面的代碼我在哪裏試圖從索引i + 1複製到avector的i + k索引到新的ve ctor nv – kolaveri

相關問題