使用copy函数打印容器(container)元素

C++可以使用copy函数输出容器(container)中的元素, 可以代替for循环.
头文件:

#include 
#include 

格式:

std::copy(cont.begin(), cont.end(),std::ostream_iterator(std::cout, " "));

Type是需要输出格式的类型, 如容器是vector, 则Type是int.

#include   
#include   
#include   
#include   
using namespace std;  
  
int main(void)  
{  
    set a,b,c;  
    a.insert(1);  
    a.insert(6);  
    a.insert(6);  
    b.insert(2);  
    b.insert(6);  
    b.insert(9);  
  
    //最后一个参数若使用c.begin()会产生编译错误assignment of read-only localtion.  
  
    set_union(a.begin(), a.end(), b.begin(), b.end(), inserter(c, c.begin()));  
    copy(c.begin(), c.end(), ostream_iterator  (cout, " "));  
    return 0;  
}  
#include   
#include   
#include   
#include   
using namespace std;  
  
int main()  
{  
    vector a,b,c;  
    for(int e=0;e<10;e++)  
    {  
       a.push_back(e);  
       b.push_back(e+5);  
    }  
    //最后一个参数若使用c.begin(),运行时会出错“Segmentation fault (core dumped)”.  
    set_union(a.begin(),a.end(),b.begin(),b.end(),back_inserter(c));  
    copy(c.begin(), c.end(), ostream_iterator (cout, " "));  
    return 0;  
}  

参考:

  • https://blog.csdn.net/caroline_wendy/article/details/31727529
  • https://www.cnblogs.com/s1124yy/p/5849553.html

你可能感兴趣的:(使用copy函数打印容器(container)元素)