精华内容
下载资源
问答
  • c++容器使用经验总结

    2016-07-18 12:42:39
    c++容器使用经验总结
  • c++容器使用经验

    2013-05-10 15:48:23
    标准STL序列容器:vector、string、deque和list。 标准STL关联容器:set、multiset、map和multimap。
  • STL中的容器主要分为顺序容器和关联容器。其中顺序容器主要有vector, deque和list;关联容器主要有map,set和multimap multiset。关联容器,通过键存储和读取元素。顺序容器,通过元素在容器中的位置顺序存储和读取...
    STL中的容器主要分为顺序容器和关联容器。其中顺序容器主要有vector, deque和list;关联容器主要有map,set和multimap  multiset。关联容器,通过键存储和读取元素。顺序容器,通过元素在容器中的位置顺序存储和读取元素。
    指定自定义排序方法或者重载 operator < 操作符等方式来自定义排序规则
    • 对于顺序容器通过调用std::sort函数进行排序,以类对象的方式传递自定义的排序逻辑,如下:
    class CompareASC
    {  
    public:  
    CompareASC()
    {
    setlocale(LC_ALL,"Chinese-simplified");
    }
    
    bool operator ()(const CString& i_stFir, const CString& i_stSec)
    {
    USES_CONVERSION;
    int nResult = strcoll(T2A(sPre), T2A(sLat));
    return nResult < 0 ? true : false;
    }  
    };
    

    // 调用方式

    std::vector<CString> vectData;

    std::sort(vectData.begin(),vectData.end(),CompareASC());

    • 对于关联容器,本身按照键进行排序,定义容器时传递自定义的排序逻辑,如下:
    std::map<CString,CString,CompareASC> mapData;
     
    
    展开全文
  • c++容器使用经验总结 很好的学习资料!
  • C++容器用法

    2016-07-18 12:43:48
    C++模板,容器 (STL)用法意义实例
  • c++容器常见操作

    2016-05-29 18:15:51
    总结下常见c++容器操作。
  • C++容器.txt

    2011-08-16 16:10:44
    C++C++容器.txt
  • 浅谈C++容器

    2012-10-14 01:58:07
    浅谈C++容器
  • c++容器详解

    千次阅读 2018-12-14 15:07:06
    C++为我们提供了许多容器可以使用 C++中的容器定义为: 在数据存储上,有一种对象类型,它可以持有其它对象或指向其它对像的指针,这种对象类型就叫做容器。 这些容器大体可以分为顺序容器、关联容器容器...

    C++为我们提供了许多容器可以使用
    C++中的容器定义为:

    在数据存储上,有一种对象类型,它可以持有其它对象或指向其它对像的指针,这种对象类型就叫做容器。

    这些容器大体可以分为顺序容器、关联容器和容器适配器
    也就是我们常用的 S T L STL STL
    这里只说一下这些容器之间的关系和特点
    具体的用法在别的博客中会有详细讲解

    关联容器

    关联容器特点
    set快速查找,元素有序,不允许有重复元素
    multiset快速查找,元素有序允许有重复元素
    unordered_set快速查找,元素无序,不允许有重复元素
    unordered_multiset快速查找,元素无序,允许有重复元素
    map映射,key-value型容器,元素有序,不允许有重复元素
    multimap映射,key-value型容器,元素有序,允许有重复元素
    unordered_map映射,key-value型容器,快速查找,元素无序,不允许有重复元素
    unordered_multimap映射,key-value型容器,快速查找,元素无序,允许有重复元素

    上面给出的这些关联容器都是非线性的树结构,内部都是用红黑树这种二叉树结构实现的。

    set

    字面意思集合,其作用也就是一个集合,里面不允许有相同的元素,其内部是通过链表的方式来组织的,每个元素只包含一个关键字。set是保证有序的,每次插入元素之后都会自动按升序排列。

    multiset

    顾名思义,可重集合,内部实现方式和 s e t set set相同,它允许内部的元素重复,同一个元素可以出现多次

    unordered_set

    无序集合,是一个存储唯一元素的关联容器,容器中的元素无特别的秩序关系,该容器允许基于值的快速元素检索,同时也支持正向迭代。其内部实现与 s e t set set不同,是用哈希表实现的。

    unordered_multiset

    和上面一样的,只是元素可以重复

    顺序容器

    顺序容器特点
    deque可以在容器的开头或结尾分别插入或删除元素
    vector在容器后方插入或删除元素,可通过下标直接访问
    list可以在任何地方插入或删除
    deque

    双端队列,可以在队列的首尾进行操作,其内部实现更加复杂,支持对所有元素的随机访问,它的随机访问和遍历性能比 v e c t o r vector vector差。它不像 v e c t o r vector vector一样有连续的存储空间,而是多个连续的内存块。应用举例就是 s p f a spfa spfa s l f slf slf优化。

    vector

    v e c t o r vector vector是一种线性顺序结构,它的大小和所用内存是不定的,会在使用中自动分配。 v e c t o r vector vector是一个类模板,像 v e c t o r &lt; i n t &gt; vector&lt;int&gt; vector<int>才叫一种数据类型。它的存储空间是连续的。

    list

    这个基本是用的最少的了,它是一个线性双向链表结构。它的随机访问是要按顺序查找,并不像 v e c t o r vector vector一样直接找到地址。内存空间和 d e q u e deque deque一样不是连续的。

    容器适配器特点
    stack不允许随机访问栈元素,先进后出
    queue不允许随机访问队列元素,先进先出
    priority_queue不允许随机访问队列元素,优先级高的先出
    stack

    支持先进后出,是一个线性表,插入和删除只在表的一端进行,它不提供元素的任何迭代器操作。由于它的的内部使用的是其他容器,因此它可看做是一种适配器,作用就是将一种容器转换为另一种容器。它的模版需要定义两个模版参数,一个是元素类型,一个是容器类型,元素类型是必要的,容器类型是可选的,默认为 d e q u e deque deque类型。

    queue

    queue与上面的stack十分相似,支持先进先出

    priority_queue

    q u e u e queue queue的头文件中还定义了一个十分有用的模板类,它的特点就是队头的元素一定是优先级最高的元素,和进队顺序无关,这使它的应用范围特别广

    展开全文
  • c++中,vector是一个十分有用的容器,下面通过本文给大家介绍C++中vector容器使用详细说明,需要的朋友可以参考下
  • C++容器详解

    万次阅读 多人点赞 2018-09-11 15:03:50
    首先,我们必须理解一下什么是容器,在C++容器被定义为:在数据存储上,有一种对象类型,它可以持有其它对象或指向其它对像的指针,这种对象类型就叫做容器。很简单,容器就是保存其它对象的对 象,当然这是一个...

    什么是容器

    首先,我们必须理解一下什么是容器,在C++ 中容器被定义为:在数据存储上,有一种对象类型,它可以持有其它对象或指向其它对像的指针,这种对象类型就叫做容器。很简单,容器就是保存其它对象的对 象,当然这是一个朴素的理解,这种“对象”还包含了一系列处理“其它对象”的方法,因为这些方法在程序的设计上会经常被用到,所以容器也体现了一个好处, 就是“容器类是一种对特定代码重用问题的良好的解决方案”。

    容器还有另一个特点是容器可以自行扩展。在解决问题时我们常常不知道我们需要存储多少个对象,也就是说我们不知道应该创建多大的内存空间来保存我们的对象。 显然,数组在这一方面也力不从心。容器的优势就在这里,它不需要你预先告诉它你要存储多少对象,只要你创建一个容器对象,并合理的调用它所提供的方法,所 有的处理细节将由容器来自身完成。它可以为你申请内存或释放内存,并且用最优的算法来执行您的命令。

    容器是随着面向对象语言的诞生而提出的,容器类在面向对象语言中特别重要,甚至它被认为是早期面向对象语言的基础。在现在几乎所有的面向对象的语言中也都伴随着一个容器集,在C++ 中,就是标准模板库(STL )。

    和其它语言不一样,C++ 中处理容器是采用基于模板的方式。标准C++ 库中的容器提供了多种数据结构,这些数据结构可以与标准算法一起很好的工作,这为我们的软件开发提供了良好的支持!

    通用容器的分类

    STL 对定义的通用容器分三类:顺序性容器、关联式容器和容器适配器。

    顺序性容器 是 一种各元素之间有顺序关系的线性表,是一种线性结构的可序群集。顺序性容器中的每个元素均有固定的位置,除非用删除或插入的操作改变这个位置。这个位置和 元素本身无关,而和操作的时间和地点有关,顺序性容器不会根据元素的特点排序而是直接保存了元素操作时的逻辑顺序。比如我们一次性对一个顺序性容器追加三 个元素,这三个元素在容器中的相对位置和追加时的逻辑次序是一致的。

    关联式容器 和 顺序性容器不一样,关联式容器是非线性的树结构,更准确的说是二叉树结构。各元素之间没有严格的物理上的顺序关系,也就是说元素在容器中并没有保存元素置 入容器时的逻辑顺序。但是关联式容器提供了另一种根据元素特点排序的功能,这样迭代器就能根据元素的特点“顺序地”获取元素。

    关联式容器另一个显著的特点是它是以键值的方式来保存数据,就是说它能把关键字和值关联起来保存,而顺序性容器只能保存一种(可以认为它只保存关键字,也可以认为它只保存值)。这在下面具体的容器类中可以说明这一点。

    容器适配器 是一个比较抽象的概念, C++的 解释是:适配器是使一事物的行为类似于另一事物的行为的一种机制。容器适配器是让一种已存在的容器类型采用另一种不同的抽象类型的工作方式来实现的一种机 制。其实仅是发生了接口转换。那么你可以把它理解为容器的容器,它实质还是一个容器,只是他不依赖于具体的标准容器类型,可以理解是容器的模版。或者把它 理解为容器的接口,而适配器具体采用哪种容器类型去实现,在定义适配器的时候可以由你决定。

    下表列出STL 定义的三类容器所包含的具体容器类:

    标准容器类

    特点

    顺序性容器

    vector

    从后面快速的插入与删除,直接访问任何元素

    deque

    从前面或后面快速的插入与删除,直接访问任何元素

    list

    双链表,从任何地方快速插入与删除

    关联容器

    set

    快速查找,不允许重复值

    multiset

    快速查找,允许重复值

    map

    一对多映射,基于关键字快速查找,不允许重复值

    multimap

    一对多映射,基于关键字快速查找,允许重复值

    容器适配器

    stack

    后进先出

    queue

    先进先出

    priority_queue

    最高优先级元素总是第一个出列

    vector ,deque 和 list

    顺序性容器:

    向量 vector :  

    是一个线性顺序结构。相当于数组,但其大小可以不预先指定,并且自动扩展。它可以像数组一样被操作,由于它的特性我们完全可以将vector 看作动态数组。
    在创建一个vector 后,它会自动在内存中分配一块连续的内存空间进行数据存储,初始的空间大小可以预先指定也可以由vector 默认指定,这个大小即capacity ()函数的返回值。当存储的数据超过分配的空间时vector 会重新分配一块内存块,但这样的分配是很耗时的,在重新分配空间时它会做这样的动作:

    首先,vector 会申请一块更大的内存块;

    然后,将原来的数据拷贝到新的内存块中;

    其次,销毁掉原内存块中的对象(调用对象的析构函数);

    最后,将原来的内存空间释放掉。

    如果vector 保存的数据量很大时,这样的操作一定会导致糟糕的性能(这也是vector 被设计成比较容易拷贝的值类型的原因)。所以说vector 不是在什么情况下性能都好,只有在预先知道它大小的情况下vector 的性能才是最优的。

    vector 的特点:
    (1) 指定一块如同数组一样的连续存储,但空间可以动态扩展。即它可以像数组一样操作,并且可以进行动态操作。通常体现在push_back() pop_back() 。
    (2) 随机访问方便,它像数组一样被访问,即支持[ ] 操作符和vector.at()
    (3) 节省空间,因为它是连续存储,在存储数据的区域都是没有被浪费的,但是要明确一点vector 大多情况下并不是满存的,在未存储的区域实际是浪费的。

    (4) 在内部进行插入、删除操作效率非常低,这样的操作基本上是被禁止的。Vector 被设计成只能在后端进行追加和删除操作,其原因是vector 内部的实现是按照顺序表的原理。
    (5) 只能在vector 的最后进行push 和pop ,不能在vector 的头进行push 和pop 。
    (6) 当动态添加的数据超过vector 默认分配的大小时要进行内存的重新分配、拷贝与释放,这个操作非常消耗性能。 所以要vector 达到最优的性能,最好在创建vector 时就指定其空间大小。

    双向链表list

    是一个线性链表结构,它的数据由若干个节点构成,每一个节点都包括一个信息块(即实际存储的数据)、一个前驱指针和一个后驱指针。它无需分配指定的内存大小且可以任意伸缩,这是因为它存储在非连续的内存空间中,并且由指针将有序的元素链接起来。

    由于其结构的原因,list 随机检索的性能非常的不好,因为它不像vector 那样直接找到元素的地址,而是要从头一个一个的顺序查找,这样目标元素越靠后,它的检索时间就越长。检索时间与目标元素的位置成正比。

    虽然随机检索的速度不够快,但是它可以迅速地在任何节点进行插入和删除操作。因为list 的每个节点保存着它在链表中的位置,插入或删除一个元素仅对最多三个元素有所影响,不像vector 会对操作点之后的所有元素的存储地址都有所影响,这一点是vector 不可比拟的。

    list 的特点:
    (1) 不使用连续的内存空间这样可以随意地进行动态操作;
    (2) 可以在内部任何位置快速地插入或删除,当然也可以在两端进行push 和pop 。
    (3) 不能进行内部的随机访问,即不支持[ ] 操作符和vector.at() ;
    (4) 相对于verctor 占用更多的内存。

    双端队列deque 
    是一种优化了的、对序列两端元素进行添加和删除操作的基本序列容器。它允许较为快速地随机访问,但它不像vector 把所有的对象保存在一块连续的内存块,而是采用多个连续的存储块,并且在一个映射结构中保存对这些块及其顺序的跟踪。向deque 两端添加或删除元素的开销很小。它不需要重新分配空间,所以向末端增加元素比vector 更有效。

    实际上,deque 是对vector 和list 优缺点的结合,它是处于两者之间的一种容器。

    deque 的特点:
    (1) 随机访问方便,即支持[ ] 操作符和vector.at() ,但性能没有vector 好;
    (2) 可以在内部进行插入和删除操作,但性能不及list ;
    (3) 可以在两端进行push 、pop ;

    三者的比较

    下图描述了vector 、list 、deque 在内存结构上的特点:

     

    vector 是一段连续的内存块,而deque 是多个连续的内存块, list 是所有数据元素分开保存,可以是任何两个元素没有连续。

    vector 的查询性能最好,并且在末端增加数据也很好,除非它重新申请内存段;适合高效地随机存储。

    list 是一个链表,任何一个元素都可以是不连续的,但它都有两个指向上一元素和下一元素的指针。所以它对插入、删除元素性能是最好的,而查询性能非常差;适合 大量地插入和删除操作而不关心随机存取的需求。

    deque 是介于两者之间,它兼顾了数组和链表的优点,它是分块的链表和多个数组的联合。所以它有被list 好的查询性能,有被vector 好的插入、删除性能。 如果你需要随即存取又关心两端数据的插入和删除,那么deque 是最佳之选。

    关联容器

    set, multiset, map, multimap 是一种非线性的树结构,具体的说采用的是一种比较高效的特殊的平衡检索二叉树—— 红黑树结构。(至于什么是红黑树,我也不太理解,只能理解到它是一种二叉树结构)

    因为关联容器的这四种容器类都使用同一原理,所以他们核心的算法是一致的,但是它们在应用上又有一些差别,先描述一下它们之间的差别。

    set ,又称集合,实际上就是一组元素的集合,但其中所包含的元素的值是唯一的,且是按一定顺序排列的,集合中的每个元素被称作集合中的实例。因为其内部是通过链表的方式来组织,所以在插入的时候比vector 快,但在查找和末尾添加上被vector 慢。

    multiset ,是多重集合,其实现方式和set 是相似的,只是它不要求集合中的元素是唯一的,也就是说集合中的同一个元素可以出现多次。

    map ,提供一种“键- 值”关系的一对一的数据存储能力。其“键”在容器中不可重复,且按一定顺序排列(其实我们可以将set 也看成是一种键- 值关系的存储,只是它只有键没有值。它是map 的一种特殊形式)。由于其是按链表的方式存储,它也继承了链表的优缺点。

    multimap , 和map 的原理基本相似,它允许“键”在容器中可以不唯一。

    关联容器的特点是明显的,相对于顺序容器,有以下几个主要特点:

    1, 其内部实现是采用非线性的二叉树结构,具体的说是红黑树的结构原理实现的;

    2, set 和map 保证了元素的唯一性,mulset 和mulmap 扩展了这一属性,可以允许元素不唯一;

    3, 元素是有序的集合,默认在插入的时候按升序排列。

    基于以上特点,

    1, 关联容器对元素的插入和删除操作比vector 要快,因为vector 是顺序存储,而关联容器是链式存储;比list 要慢,是因为即使它们同是链式结构,但list 是线性的,而关联容器是二叉树结构,其改变一个元素涉及到其它元素的变动比list 要多,并且它是排序的,每次插入和删除都需要对元素重新排序;

    2, 关联容器对元素的检索操作比vector 慢,但是比list 要快很多。vector 是顺序的连续存储,当然是比不上的,但相对链式的list 要快很多是因为list 是逐个搜索,它搜索的时间是跟容器的大小成正比,而关联容器 查找的复杂度基本是Log(N) ,比如如果有1000 个记录,最多查找10 次,1,000,000 个记录,最多查找20 次。容器越大,关联容器相对list 的优越性就越能体现;

    3, 在使用上set 区别于vector,deque,list 的最大特点就是set 是内部排序的,这在查询上虽然逊色于vector ,但是却大大的强于list 。

    4, 在使用上map 的功能是不可取代的,它保存了“键- 值”关系的数据,而这种键值关系采用了类数组的方式。数组是用数字类型的下标来索引元素的位置,而map 是用字符型关键字来索引元素的位置。在使用上map 也提供了一种类数组操作的方式,即它可以通过下标来检索数据,这是其他容器做不到的,当然也包括set 。(STL 中只有vector 和map 可以通过类数组的方式操作元素,即如同ele[1] 方式)

    容器适配器

    STL 中包含三种适配器:栈stack 、队列queue 和优先级priority_queue 。

    适配器是容器的接口,它本身不能直接保存元素,它保存元素的机制是调用另一种顺序容器去实现,即可以把适配器看作“它保存一个容器,这个容器再保存所有元素”。

    STL 中提供的三种适配器可以由某一种顺序容器去实现。默认下stack 和queue 基于deque 容器实现,priority_queue 则基于vector 容器实现。当然在创建一个适配器时也可以指定具体的实现容器,创建适配器时在第二个参数上指定具体的顺序容器可以覆盖适配器的默认实现。

    由于适配器的特点,一个适配器不是可以由任一个顺序容器都可以实现的。

    栈stack 的特点是后进先出,所以它关联的基本容器可以是任意一种顺序容器,因为这些容器类型结构都可以提供栈的操作有求,它们都提供了push_back 、pop_back 和back 操作;

    队列queue 的特点是先进先出,适配器要求其关联的基础容器必须提供pop_front 操作,因此其不能建立在vector 容器上;

    优先级队列priority_queue 适配器要求提供随机访问功能,因此不能建立在list 容器上。

    展开全文
  • C++容器适配器的理解与使用

    千次阅读 多人点赞 2017-08-18 19:41:50
    1.对容器适配器的理解C++提供了三种容器适配器(container adapter):stack,queue和priority_queue。stack和queue基于deque实现,priority_queue基于vector实现。举个简单的例子,我们手机充电的时候需要电源...

    1.对容器适配器的理解

    C++提供了三种容器适配器(container adapter):stack,queue和priority_queue。stack和queue基于deque实现,priority_queue基于vector实现。

    举个简单的例子,我们手机充电的时候需要电源适配器来把220v的交流电转换成较低电压的直流电以供手机充电使用,220v的电压太高了,我们不需要那么高的电压,而且高电压还有可能产生其他很多不良后果。

    基础的容器类型就相当于那220v的电压,经过适配器转换后才成为了我们需要的低电压(stack,queue,priority_queue)。你完全可以在deque上按照stack的方式工作,但是deque太强大了,它提供了远超过stack操作(empty, size, pop, top, push)所需的各种接口,你可以小心翼翼地在deque上只使用那几种操作来模拟一个栈,但是你很有可能一失误来个push_front()之类的操作,你小心翼翼模拟的栈就毁了。所以,我们需要适配器来做一下转换,只保留基础类型提供的接口中的一部分,保留的这部分操作对于你所需要的数据结构来说已经足够了。

    2.三种容器适配器提供的操作

    1.stack

    stack<int> s;
    stack< int, vector<int> > stk;  //覆盖基础容器类型,使用vector实现stk
    s.empty();  //判断stack是否为空,为空返回true,否则返回false
    s.size();   //返回stack中元素的个数
    s.pop();    //删除栈顶元素,但不返回其值
    s.top();    //返回栈顶元素的值,但不删除此元素
    s.push(item);   //在栈顶压入新元素item
    

    2.queue & priority_queue

    queue<int> q; //priority_queue<int> q;
    q.empty();  //判断队列是否为空
    q.size();   //返回队列长度
    q.push(item);   //对于queue,在队尾压入一个新元素
                   //对于priority_queue,在基于优先级的适当位置插入新元素
    
    //queue only:
    q.front();  //返回队首元素的值,但不删除该元素
    q.back();   //返回队尾元素的值,但不删除该元素
    
    //priority_queue only:
    q.top();    //返回具有最高优先级的元素值,但不删除该元素
    
    展开全文
  • 浅谈C++容器原理

    2016-03-31 18:43:08
    本文档简要概述了C++集中容器的内部实现机制,让程序员更好的使用容器
  • C++ 容器详解

    千次阅读 2018-04-14 20:35:56
    顺序容器:此处的顺序不是体现在元素的值的顺序,而是指的是元素加入容器时的位置相对应的。 关联容器:顺序容器分类: 类型 特点 vector 可变大小数组 支持快速随机访 在尾部之外的位置插入或删除元素可能...
  • C++容器与队列

    2015-04-11 22:55:33
    关于C++容器和队列的总结,能够帮助初学者对C++中的容器和队列有更直观的理解。
  • 编程C++容器类资料

    2018-03-19 14:17:21
    编程C++容器类资料,仅供学习参考,文件描述详细准确,
  • C++容器学习文萃

    2013-04-10 09:41:52
    C++ 容器及选用总结 by 张三李四 C++vector容器如何释放内存 by Waikin STL容器的排序 by ihadl
  • C++ map 容器

    2010-11-12 23:26:33
    C++ map 容器 C++ map 容器 C++ map 容器 C++ map 容器 C++ map 容器 C++ map 容器 C++ map 容器
  • 浅谈C++容器.pdf

    2010-01-16 14:05:03
    浅谈C++容器.pdf 浅谈C++容器.pdf 浅谈C++容器.pdf 浅谈C++容器.pdf
  • c++容器类&QT;容器

    2012-10-23 17:00:22
    C++中的容器类包括“顺序存储结构”和“关联存储结构”,前者包括vector,list,deque等;后者包括set,map,multiset,multimap等。 常用函数介绍等. 若需要存储的元素数在编译器间就可以确定,可以使用数组来...
  • array是c++11之后新加的容器类型,他比vector更加轻便。 array的数据存储在栈中,vector的数据存储在堆中。所以 array容器处理数据的效率更快 vector处理数据的量更大 vector更强大,封装的函数更多;array更轻便...
  • 主要为大家详细介绍了C++容器vector实现通讯录功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • C++ 容器(一):顺序容器简介

    千次阅读 多人点赞 2015-08-18 21:01:40
    C++提供了使用抽象进行高效编程的方式,标准库中定义了许多容器类以及一系列泛型函数,使程序员可以更加简洁、抽象和有效地编写程序。本文分三部分将解包括:顺序容器,关联容器和泛型算法。
  • 关于C++ 容器的swap操作

    万次阅读 多人点赞 2016-08-15 18:45:56
    关于C++容器的swap操作
  • C++ 容器适配器简介

    万次阅读 2019-11-28 17:34:16
    文章目录容器适配器queuepriority_queue 更多关于STL文章——STL学习笔记 容器适配器 容器适配器是一个封装了序列容器的类模板,它在一般序列容器的基础上提供了一些不同的功能。之所以称作适配器类,是因为它可以...
  • C++容器之List容器初学

    千次阅读 2017-02-13 23:55:56
    ² list是一个双向链表容器,可高效地进行插入删除元素。 ² list不可以随机存取元素,所以不支持at.(pos)函数与[]操作符。It++(ok) it+5(err) ² #include   list对象的默认构造 list采用采用模板类实现...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 198,530
精华内容 79,412
关键字:

c++容器的使用

c++ 订阅