vector和list容器之间的复制

#include <iostream>
#include <list>
#include <string>
#include <vector>
#include <iterator>
using namespace std;

int main()
{
	//copy list to list
	list<string> oldList;
	list<string> newList;
	oldList.push_back("test1");
	oldList.push_back("test2");
	oldList.push_back("test3");
	copy(oldList.begin(), oldList.end(), back_inserter(newList));	

	//copy vector to vector
	vector<string> oldVector;
	vector<string> newVector;
	oldVector.push_back("test4");
	oldVector.push_back("test5");
	oldVector.push_back("test6");
	copy(oldVector.begin(), oldVector.end(), back_inserter(newVector));	

	//copy list to vector
	list<string> list1;
	vector<string> vector1;
	list1.push_back("test7");
	list1.push_back("test8");
	list1.push_back("test9");
	copy(list1.begin(), list1.end(), back_inserter(vector1));	

	//copy vector to list
	vector<string> vector2;
	list<string> list2;
	vector2.push_back("test10");
	vector2.push_back("test11");
	vector2.push_back("test12");
	copy(vector2.begin(), vector2.end(), back_inserter(list2));	

	return 0;
}

特别注意:

copy(vec.begin()+3, vec.begin()+6, back_inserter(list2));

这样的情况下,仅仅是拷贝了vec[3]、vec[4]、vec[5]  。

vec[6]并没有拷贝!

时间: 2024-10-10 01:23:39

vector和list容器之间的复制的相关文章

C++ STL中vector(向量容器)使用简单介绍

原文:http://www.seacha.com/article.php/knowledge/cbase/2013/0903/2205.html C++ vector(向量容器)是一个线性顺序结构.相当于数组,但其大小可以不预先指定,并且自动扩展.它可以像数组一样被操作,由于它的特性我们完全可以将vector 看作动态数组,或者作为动态内存. 在创建一个vector 后,它会自动在内存中分配一块连续的内存空间进行数据存储,初始的空间大小可以预先指定也可以由vector 默认指定,这个大小即cap

如何在Docker容器之间拷贝数据

[编者的话]在容器之间拷贝数据是Docker一个重要而且基本的功能.拷贝数据到其他容器是一个经常使用到的场景,如当服务器遇到不可预见的“灾难”(注:断电,宕机)时,起到备份数据的作用.本文作者详细介绍了操作步骤. 如何在Docker容器之间拷贝数据 Docker容器可以类比成一个目录,它可以将一个应用程序运行时所依赖的所有环境(注:此应用依赖的其他的服务或程序等)打包在一起运行:同时可以随意的对它进行“启动”.“停止”.“移动”或者“删除”等操作.Docker容器在Linux的命名空间(Name

Docker学习笔记(9-2)Docker容器之间的连接

学习目标: 容器之间的连接 准备工作 FROM ubuntu:14.04 RUN apt-get install -y ping RUN apt-get update RUN apt-get install -y nginx RUN pat-get install -y curl EXPOSE 80 CMD /bin/bash #构建测试镜像 docker build -t lexiaofei/cct . 1.允许所有容器互联 --icc=true 默认 $ docker run -it --n

STL之vector,数组线性容器array,list容器,算法find,find_if,bind1st,仿函数

 1.STL(Standard Template Library,是用泛型技术来设计完成的实例)的概念与组成 Iterator(迭代器) Container(容器) Algorithm(算法) Adaptors(配接器) STL的六大组件分别是: 容器(Container) 算法(Algorithm) 迭代器(Iterator) 仿函数(Function object) 适配器(Adapter) 空间配置器(allocator):只能分配内存等 2.容器与算法 案例如下: #include<

理解容器之间的连通性 - 每天5分钟玩转 Docker 容器技术(34)

通过前面小节的实践,当前 docker host 的网络拓扑结构如下图所示,今天我们将讨论这几个容器之间的连通性. 两个 busybox 容器都挂在 my_net2 上,应该能够互通,我们验证一下: 可见同一网络中的容器.网关之间都是可以通信的. my_net2 与默认 bridge 网络能通信吗? 从拓扑图可知,两个网络属于不同的网桥,应该不能通信,我们通过实验验证一下,让 busybox 容器 ping httpd 容器: 确实 ping 不通,符合预期. "等等!不同的网络如果加上路由应该

表之间数据复制语句

Insert是T-sql中常用语句:Insert INTO table(field1,field2,...) values(value1,value2,...) 当从当前表复制到另一种表中的时候, 如: 1.将一个table1的数据的部分字段复制到table2中 2.将整个table1复制到table2中, 此时 需要使用到:SELECT INTO 和 INSERT INTO SELECT 表复制语句 1.INSERT INTO SELECT语句 语法:Insert Into Table2(fi

【java】为数组全部元素赋同样的值 以及 数组之间的复制

为数组全部元素赋同样的值 : boolean[] resArray=new boolean[100]; Arrays.fill(resArray, true); 数组之间的复制: System.arraycopy(Object src, int srcPos, Object dst, int dstPos, int length) src:源数组: srcPos:源数组要复制的起始位置: dest:目的数组. destPos:目的数组放置的起始位置: length:复制的长度. 注意:src a

手动调整域控制器之间的复制时间

站点内的域控制器之间的复制默认为每小时4次,管理员可以根据需要调整复制的时间,或者可以设置在某个时间段内不允许复制.在域控制器上打开"AD站点和服务", 并展开NTDS Settings,如下图, 右击右侧的"〈automatically generated〉" 选择"属性",再选择"Change Schedule",如下图, 然后就可以选择每小时复制的次数和某个时间段不允许复制了,如下图, 欢迎大家留言和交流,谢谢! 手动调

【java】为数组所有元素赋相同的值 以及 数组之间的复制

为数组所有元素赋相同的值 : boolean[] resArray=new boolean[100]; Arrays.fill(resArray, true); 数组之间的复制: System.arraycopy(Object src, int srcPos, Object dst, int dstPos, int length) src:源数组: srcPos:源数组要复制的起始位置: dest:目的数组: destPos:目的数组放置的起始位置: length:复制的长度. 注意:src a