#include<iostream>//c++中标准的输入和输出流
using namespace std;//该语句的意思是使用标准的名空间
#include<deque>//在使用deque容器时,需要加上他的头文件
void printdeque(const deque<int>& d)//打印deque中的数据
//至于参数里面为什么要用到const deque的形式,
//因为为了防止在函数内部将deque容器的值修改,
//所以用一个const,只可读,不可被修改
//传入的deque是const类型的,所以我们在表示它的迭代器的时候就必须用
//const来修饰这个迭代器,因为不存在const类型的迭代器和
//普通类型的迭代器之间的转换
{//for循环第一个参数是找到起始迭代器的位置
//第二个参数是 for循环退出的条件,
//d.end()指向的是终止迭代器的下一个位置,
//那么退出的条件该迭代器已经到了终止迭代器的位置了
for (deque<int>::const_iterator it = d.begin(); it != d.end(); it++)
{
cout << *it << " ";//利用迭代的形式不断的打印出deque容器中的元素
}
cout << endl;//在迭代器所有的元素都打印完之后,打印一个换行
}
void test01()//测试函数1
{
int i = 0;//定义并且初始化一个整型的变量i
deque<int>d;//默认构造函数
for (i = 0; i < 10; i++)
{
d.push_back(i);//利用尾插法对deque容器进行赋值
}
printdeque(d);//打印输出该deque容器的所有元素
deque<int>d2(d);//deque容器的拷贝构造函数
printdeque(d2);//打印输出该deque容器的所有元素
deque<int>d3(10, 100);
//deque<int>d3(n,elem);构造函数将n个elem元素拷贝给本身
printdeque(d3);//打印输出该deque容器的所有元素
deque<int>d4(d3.begin(), d3.end());//第一个参数是d3迭代器的起始迭代器
//第二个参数是d3的终止迭代器的下一个迭代器,(提供一个区间)
printdeque(d4);//打印输出该deque容器的所有元素
}
int main(void)
{
test01();//调用测试函数
system("pause"); //system("PAUSE")和system("pause")作用和效果一样,因为dos命令是不区分大小写的。
//该语句是暂停的意思:等待用户信号;不然控制台程序会一闪即过,你来不及看到执行结果
return 0;//程序正常运行返回一个0
}
deque容器的四种构造函数,c++,简单易懂
最新推荐文章于 2023-12-22 00:02:30 发布