
STL
文章平均质量分 81
kai8wei
这个作者很懒,什么都没留下…
展开
-
STL(2)---<ulitiy>
Copyright (c) 1995 by P.J. Plauger.下面是ulitiy的一些简单的实现和使用/********************************************************************** * * Copyright (c)2015,WK Studios * * Filename: A.h * *原创 2015-08-08 18:08:45 · 652 阅读 · 0 评论 -
STL迭代器的种类和简介
标准模板库(The Standard Template Library, STL)定义了五种迭代器。下面的图表画出了这几种: input output \ / forward | bidire原创 2017-08-26 20:34:24 · 1953 阅读 · 0 评论 -
STL string的常用函数
string类的构造函数:string(const char *s); //用c字符串s初始化string(int n,char c); //用n个字符c初始化此外,string类还支持默认构造函数和复制构造函数,如string s1;string s2="hello";都是正确的写法。当构造的string太长而无法表达时会抛出length_error异常stri原创 2016-04-04 17:00:10 · 3678 阅读 · 0 评论 -
STL set/multiset 常用函数
版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]集合使用set或multiset之前,必须加入头文件Set、multiset都是集合类,差别在与set中不允许有重复元素,multiset中允许有重复元素。sets和multiset内部以平衡二叉树实现1. 常用函数1) 构造函数和析构函数转载 2016-04-10 22:22:40 · 590 阅读 · 0 评论 -
STL map/multimap 常用函数
map/multimap 使用map/multimap之前要加入头文件#include,map和multimap将key/value当作元素,进行管理。它们可根据key的排序准则自动将元素排序。multimap允许重复元素,map不允许重复元素。map和multimap内部的数据结构也是平衡二叉树。 map和multimap根据元素的key自动对元素进行排序转载 2016-04-10 22:41:35 · 700 阅读 · 0 评论 -
STL deque常用函数
deque函数:deque容器为一个给定类型的元素进行线性处理,像向量一样,它能够快速地随机访问任一个元素,并且能够高效地插入和删除容器的尾部元素。但它又与vector不同,deque支持高效插入和删除容器的头部元素,因此也叫做双端队列。deque类常用的函数如下。(1) 构造函数deque():创建一个空dequedeque(int nSize):创建一个deque,元素个转载 2016-04-10 15:15:23 · 569 阅读 · 0 评论 -
STL list常用函数
相对于vector容器的连续线性空间,list是一个双向链表,它有一个重要性质:插入操作和删除操作都不会造成原有的list迭代器失效,每次插入或删除一个元素就配置或释放一个元素空间。也就是说,对于任何位置的元素插入或删除,list永远是常数时间。常用函数(1) 构造函数list c:创建一个空的listlist c1(c2):复制另一个同类型元素的listlistc(n)转载 2016-04-10 14:59:02 · 809 阅读 · 0 评论 -
STL vector常用函数
Constructors 构造函数Operators 对vector进行赋值或比较assign() 对Vector中的元素赋值at() 返回指定位置的元素back() 返回最末一个元素begin() 返回第一个元素的迭代器capacity() 返回vector所能容纳的元素数量(在不重新分配内存的情况下)clear() 清空所有元素empty()判断Vector是否转载 2016-04-10 14:51:43 · 1292 阅读 · 0 评论 -
STL(1)---从对->运算符的重载到灵巧指针再到迭代器
首先->也就是指针间接引用运算符一定是 一个成员函数,必须返回值是一个对象或者对象的引用,或者必须返回一个指针,被用于选择指针间接引用运算符箭头所指的内容所谓灵巧指针就是一个对象表现的像一个指针,这时候这个指针比一般的指针具有与生俱来的灵巧性,常称作灵巧指针所谓迭代器就是一个对指针进行封装的结构,通过对指针封装从而对数据结构中的数据进行访问,从而使指针不直接接触数据,既安全有方便用户#原创 2015-07-29 16:27:37 · 1852 阅读 · 0 评论 -
STL(4)----<list>
双向循环链表list list是双向循环链表,,每一个元素都知道前面一个元素和后面一个元素。在STL中,list和vector一样,是两个常被使用的容器。和 vector不一样的是,list不支持对元素的任意存取。list中提供的成员函数与vector类似,不过list提供对表首元素的操作 push_front、pop_front,这是vector不具备的。和vector另一原创 2015-08-11 18:22:38 · 820 阅读 · 0 评论 -
STL(3)---<vector>
vector是STL中最常见的容器,它是一种顺序容器,支持随机访问。vector是一块连续分配的内存,从数据安排的角度来讲,和数组极其相似,不同的地方就是:数组是静态分配空间,一旦分配了空间的大小,就不可再改变了;而vector是动态分配空间,随着元素的不断插入,它会按照自身的一套机制不断扩充自身的容量。 vector的扩充机制:按照容器现在容量的一倍进行增长。vector容器分配的是原创 2015-08-11 09:26:57 · 852 阅读 · 0 评论 -
STL中容器操作的迭代器失效-erase()函数陷阱
迭代器失效都是发生在我们在使用容器的过程中要通过迭代器来删除某一个容器节点而导致的迭代器的失效,我们可以从各个容器使用的迭代器以及容器本身的构造结构找到答案,没必要,也不需要去记忆那些陷阱和正确的使用方法。 每个容器的使用的迭代器类型具体可以到这篇博客去看,下面我们分别看一下每个容器的迭代器失效问题1.vector 和deque 这两种容器是支持随机访问迭代器的,可原创 2017-08-26 22:04:07 · 376 阅读 · 0 评论