//deque和list容器的赋值时采用当好和assign的形式
#include<iostream>//c++中标准的输入和输出流
using namespace std;//引用标准的名空间std
#include<list>//引用list容器必须要包含list的头文件
void printlist(list<int>l)//打印输出list容器的所有元素
{//for循环第一个参数是找到起始迭代器的位置
// //第二个参数是 for循环退出的条件,
// //d.end()指向的是终止迭代器的下一个位置,
//那么退出的条件该迭代器已经到了终止迭代器的位置了
for (list<int>::iterator it = l.begin(); it != l.end(); it++)
{
cout << *it << " ";
}
cout << endl;//在容器所有的元素都打印完之后,打印一个换行
}
void test01()
{
list<int>l;//无参构造函数
for (int i = 0; i < 10; i++)
{
l.push_back(i);//利用for循环和尾插法对list容器进行赋值
}
list<int>l3;//无参构造函数
l3 = l;//用等号的形式赋值
printlist(l3);//调用函数打印输出list容器的所有元素
list<int>l4;//无参构造函数
l4.assign(10, 100);
//assign(n,elem) 可以将n个elem拷贝给本身
printlist(l4);//调用函数打印输出list容器的所有元素
list<int>l2;//无参构造函数
l2.assign(l.begin(), l.end());//在deque容器的赋值用到
//assign时,可以传入一个迭代器的区间进去
printlist(l2);//调用函数打印输出list容器的所有元素
}
int main(void)//主函数
{
test01();//调用函数
system("pause");
//system("PAUSE")和system("pause")作用和效果一样,因为dos命令是不区分大小写的。
//该语句是暂停的意思:等待用户信号;不然控制台程序会一闪即过,你来不及看到执行结果
return 0;//程序正常运行返回一个0
}