在用string做字符串拼接时,会发现随着string的增大越来越慢,原因主要是string(和vector)是基于现行内存的数据结构,在海量数据时,经常会申请新的一块内存,把原有的数据拷贝过去然后再析构掉,这样非常浪费时间,使用reserve可以有效的改变这种情况 因为string(和vector ...
分类:
其他好文 时间:
2018-11-07 16:34:28
阅读次数:
189
1.若要使用 栈,需要有头函数#include<stack> 2.STL容器stack成员函数 bool empty() 判断是否为空 void pop() 删除栈顶元素 void push(const TYPE &val) 进栈 TYPE &top() 查看栈顶元素 size_type size( ...
分类:
其他好文 时间:
2018-11-07 13:14:40
阅读次数:
168
https://blog.csdn.net/blues1021/article/details/47683945 https://blog.csdn.net/acoolgiser/article/details/81018296 https://blog.csdn.net/imkelt/articl ...
分类:
其他好文 时间:
2018-11-06 13:23:40
阅读次数:
143
在STL容器有顺序容器和关联容器两种。 顺序容器删除元素的方法有两种: 1.c.erase(p) 从c中删除迭代器p指定的元素。p必须指向c中一个真实元素,不能等于c.end()。返回一个指向p之后元素的迭代器,若p指向c中的尾元素,则返回c.end() 2.3.c.erase(b,e) 删除迭代器 ...
分类:
其他好文 时间:
2018-11-04 21:53:33
阅读次数:
245
STL容器分类介绍,序列和关联容器的删除操作示例,List,头文件总结 ...
分类:
其他好文 时间:
2018-10-31 01:14:22
阅读次数:
176
一.容器的定义 在数据存储上,有一种对象类型,它可以持有其它对象或指向其它对像的指针,这种对象类型就叫做容器。在c++中,容器指的是能够容纳各种数据类型的通用数据数据结构,是类模板。容器就是保存其它对象的对象,当然这是一个朴素的理解,这种“对象”还包含了一系列处理“其它对象”的方法。 二.容器的种类 ...
分类:
其他好文 时间:
2018-10-22 20:47:10
阅读次数:
234
容器适配器 stack、queue、priority_queue 都不支持任一种迭代器,它们都是容器适配器类型,stack是用vector/deque/list对象创建了一个先进后出容器;queue是用deque或list对象创建了一个先进先出容器;priority_queue是用vector/de ...
分类:
编程语言 时间:
2018-10-22 20:16:31
阅读次数:
160
07:在创建对象时注意区分()和{} 自C++11以来,指定初始化值的的方式包括使用小括号,等号,以及大括号: C++将后两种使用大括号的两种方式视为相同的方式。 C++11之前,单纯的直接初始化和复制初始化方式,在某些情况下无法进行想要的初始化。比如没有办法在初始化STL容器时直接指定所持有的值。 ...
分类:
编程语言 时间:
2018-10-14 00:15:59
阅读次数:
203
C++模板是容器的概念。 本质:所有容器提供的都是值(value)语意,而非引用(reference)语意。容器执行插入元素的操作时,内部实施拷贝动作。所以STL容器内存储的元素必须能够被拷贝(必须提供拷贝构造函数)。 1)除了queue与stack外,每个容器都提供可返回迭代器的函数,运用返回的迭 ...
分类:
其他好文 时间:
2018-10-13 18:10:14
阅读次数:
125
//C++数据结构与算法(第4版) Adam Drozdek 著 徐丹 吴伟敏<<清华大学出版社>> 向量是最简单的STL容器,其数据结构与数组类似,占据着一个连续的内存块。由于内存位置是连续的,所以向量中的元素可以随机访问,访问向量中任何一个元素的时间也是固定的。存储空间的管理是自动的,当要将一个 ...
分类:
其他好文 时间:
2018-09-26 17:18:06
阅读次数:
188