list<T> lstT —— list 对象的默认构造

list 与 vector 一样,同样采用模板类实现,对象的默认构造形式:list<T> lstT  如:

 1 #include <iostream>
2 #include <list>
3
4 using namespace std;
5
6 int main()
7 {
8 list<int> listInt; //定义一个存放 int 的 list 容器
9 cout << "listInt size:" << listInt.size() << endl;
10 list<float> listFloat; //定义一个存放 float 的 list 容器
11 cout << "listInt size:" << listFloat.size() << endl;
12 list<string> listString;  //定义一个存放 string 的 list 容器
13 cout << "listInt size:" << listString.size() << endl;
14
15 return 0;
16 }

打印结果:

list(beg, end) —— list 对象的带参构造&拷贝构造

构造函数将(beg, end)区间中的元素拷贝给本身,如以下三种方法:

 1 #include <iostream>
2 #include <list>
3
4 using namespace std;
5
6 int main()
7 {
8 list<int> listInt; //定义一个存放 int 的 list 容器
9 listInt.push_back(1);
10 listInt.push_back(2);
11 listInt.push_back(3);
12 int num[] = { 111,222,333 };
13
14 //方法一 将 (beg, end)区间中的元素拷贝给本身
15 list<int> listInt_A(listInt.begin(), listInt.end()); //1 2 3
16 for (list<int>::iterator it = listInt_A.begin(); it != listInt_A.end(); it++)
17 {
18 cout << *it << " ";
19 }
20 cout << endl;
21
22 //方法一(变种) 将一个数组中的元素拷贝给本身
23 list<int> listInt_B(num, num + size(num)); //111 222 333
24 for (list<int>::iterator it = listInt_B.begin(); it != listInt_B.end(); it++)
25 {
26 cout << *it << " ";
27 }
28 cout << endl;
29
30 //方法二 list(n, elem) 构造函数将 N 个 elem 拷贝给本身
31 list<int> listInt_C(3, 888); //888 888 888
32 for (list<int>::iterator it = listInt_C.begin(); it != listInt_C.end(); it++)
33 {
34 cout << *it << " ";
35 }
36 cout << endl;
37
38 //方法三 list(const list & lst) 拷贝构造函数
39 list<int> listInt_D(listInt_A); //1 2 3
40 for (list<int>::iterator it = listInt_D.begin(); it != listInt_D.end(); it++)
41 {
42 cout << *it << " ";
43 }
44
45 return 0;
46 }

打印结果:

=====================================================================================================================

STL——容器(List)List 的构造函数的更多相关文章

  1. STL容器与拷贝构造函数

    所有容器提供的都是“value语意”而非“reference语意”.容器内进行元素的安插操作时,内部实施的是拷贝操作,置于容器内.因此STL容器 的每一个元素都必须能够拷贝.---<<C+ ...

  2. 【转】c++中Vector等STL容器的自定义排序

    如果要自己定义STL容器的元素类最好满足STL容器对元素的要求    必须要求:     1.Copy构造函数     2.赋值=操作符     3.能够销毁对象的析构函数    另外:     1. ...

  3. 不要在公共接口中传递STL容器

    最近的一个项目,是开发一个framework,提供给公司内部不同的产品线使用. 之间遇到的一个问题,就是STL容器的使用, 而结论是不要在公共接口中传递STL容器: 这里说的STL容器,但主要则是指容 ...

  4. STL容器的内存分配

    这篇文章参考的是侯捷的<STL源码剖析>,所以主要介绍的是SGI STL实现版本,这个版本也是g++自带的版本,另外有J.Plauger实现版本对应的是cl自带的版本,他们都是基于HP实现 ...

  5. 转:STL容器里存放对象还是指针

    一.问题的引出: 容器可以存放对象,可以存放指针,这里要谈的是两者的使用问题.就是什么时候存放对象更好,什么时候存放指针更好? 二.问题的分析过程: 1. 首先说下stl容器的工作方式   对于内建类 ...

  6. STL - 容器共性机制研究

    C++模板是容器的概念. 理论提高:所有容器提供的都是值(value)语意,而非引用(reference)语意.容器执行插入元素的操作时,内部实施拷贝动作.所以STL容器内存储的元素必须能够被拷贝(必 ...

  7. STL 容器的概念

    STL 容器的概念 在实际的开发过程中,数据结构本身的重要性不会逊于操作于数据结构的算法的重要性,当程序中存在着对时间要求很高的部分时,数据结构的选择就显得更加重要. 经典的数据结构数量有限,但是我们 ...

  8. STL容器共性机制和使用场景

    一.STL容器共性机制 STL容器所提供的都是值(value)寓意,而非引用(reference)寓意,也就是说当我们给容器中插入元素的时候,容器内部实施了拷贝动作,将我们要插入的元素再另行拷贝一份放 ...

  9. 刷题常用的STL容器总结

    本文归纳总结刷题常用到STL容器以及一些标准算法,主要包括: string.vector.map.pair.unordered_map.set.queue.priority_queue.stack,以 ...

  10. 从零开始写STL—容器—vector

    从0开始写STL-容器-vector vector又称为动态数组,那么动态体现在哪里?vector和一般的数组又有什么区别?vector中各个函数的实现原理是怎样的,我们怎样使用会更高效? 以上内容我 ...

随机推荐

  1. ceph单机多mon的实现

    ceph默认情况下是以主机名来作为mon的识别的,所以这个情况下用部署工具是无法创建多个mon的,这个地方使用手动的方式可以很方便的创建多个mon 1.创建mon的数据存储目录 mkdir /var/ ...

  2. symbol lookup error /usr/lib/x86_64-linux-gnu/libstdc++.so.6错误的解决办法

    当出现 $ apt-get: symbol lookup error: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: undefined symbol: _ZNS ...

  3. 用JavaScript做精灵图

    用JavaScript做精灵图 精灵图可以不用在给每一个小块一 一的修改位置.主要原理是找到整张的背景图与li的下标的数学关系. 这是一大张背景图,这个背景图的位置其实是有规律的,每两张之间间隔一个固 ...

  4. SMB远程代码执行漏洞(CVE-2020-0796)分析、验证及加固

            这几天有点忙,CVE-2020-0796出来了,没静下心来关注一下,显得太不尊重这个漏洞了,今天周末,关注一下,水一篇. 一.漏洞描述       漏洞公告显示,SMB 3.1.1协议 ...

  5. 云计算之路-出海记:建一个免费仓库 Amazon RDS for SQL Server

    上周由于园子后院起火,不得不调兵回去救火,出海记暂时停更,这周继续更新,"出海记"记录的是我们在 AWS 上建设博客园海外站的历程. 在这一记中记录的是我们基于 AWS 免费套餐( ...

  6. html页面转PDF、图片操作记录

    前言 日常开发中,我们有可能会碰到从系统中导出数据并打印的需要,打印的格式是常规的表格形式,例如: 本文记录使用js库html2canvas + jspdf实现html转PDF.图片,并下载 画出页面 ...

  7. 面经分享!蚂蚁金服三面被拒,重拾起鼓四面猿辅导成功拿下offer!

    前言 一直有小伙伴要我分享面经,说自己想面互联网公司,无奈经验太少想多看看其他人是怎么面的.我这两天刚好和一个刚拿到猿辅导offer的朋友吃了个饭,他向我说了说自己的面试经历.粉丝朋友是末流211毕业 ...

  8. FL Studio杂项设置页讲解(下)

    上篇文章中我们重点讲解了FL Studio中"截断/被截"如何有效的避免个采样在播放时相互干扰的知识以及电平设置栏的知识,今天我们将讲完该页面中剩下的栏目知识,一起来看看吧! 1. ...

  9. 吉他入门:攻克solo第七课(Randy Rhoads风格)

    本期文章,主要和大家分享一下Randy Rhoads的solo句子.相信很多精研电吉他的朋友都会听过这个一手把Ozzy Osbourne从离开黑色安息日乐队的深渊中捞出来的天才吉他手.如果你暂时不了解 ...

  10. guitar pro系列教程(十二):如何设置Guitar Pro的不完全小节

    当我们新建一个GTP谱的时候,我们肯定是要用到节拍,是的,一个乐谱节拍设置的好不好,将直接影响你的乐谱效果好不好,设置节拍的步骤我们之前也有讨论过,今天主要跟大家讲的便是不完全小节. 不完全小节顾名思 ...