STL
文章平均质量分 77
亡鸿
一zhi在流浪的鸿雁
展开
-
STL初学
模板函数的可移植性:只有在头文件中以inline function的方式实现template function。而目前,template必须定义在头文件中。非类型模板参数Nontype Template参数:bitset的使用是,传入数值而非类型参数,代表位集的大小。缺省的模板参数:关键字:typename 如果typename T::subType *ptr; 限定原创 2014-04-03 22:06:28 · 167 阅读 · 0 评论 -
STL概述
STL是C++程序库的核心。STL是一个泛型generic的函数库,提供了一系列的软件方案,利用先进、高效的算法来管理数据。泛型程序设计的概念:所有操作行为都使用相同的操作接口,但是具备不同的类型。1.STL组件:最关键的三个组件: container容器、Iterator迭代器、algorithm算法。#容器:用来管理某类对象的集合#迭代器:用来在一个对象集群collecti原创 2014-04-04 16:25:33 · 335 阅读 · 0 评论 -
STL通用工具
模板函数的可移植性:只有在头文件中以inline function的方式实现template function。而目前,template必须定义在头文件中。非类型模板参数Nontype Template参数:bitset的使用是,传入数值而非类型参数,代表位集的大小。缺省的模板参数:关键字:typename 如果typename T::subType *ptr; 限定原创 2014-04-03 22:09:10 · 285 阅读 · 0 评论 -
STL容器之Vector
C++标准库还提供了一些特殊的容器类型,所谓的容器适配器(container adapter,包括stack、queue、priority-queue)以及bitset、valarray。这些容器都有特殊的接口,都不满足STL容器的一般要求。1.容器的共通能力和共通操作3个核心的共通能力:#所有容器提供的都是value语意而不是Reference语意,因此容器内的元素都可以被拷原创 2014-04-06 23:18:24 · 300 阅读 · 0 评论 -
STL容器之List
List,链表。使用一个双向链表double-linked list来管理元素。熟悉的声明namespace std{ template > class list;}1.List的能力# 不支持随机存取 不支持operator[]、at()等下标subscript操作 它的迭代器也不是随机存取迭代器,而是双向迭代器原创 2014-04-07 11:32:41 · 157 阅读 · 0 评论 -
STL容器之Set
Set和Multiset:会根据特定的排序规则,对元素进行自动排序,不同之处是multiset允许元素重复而set不允许。namespace std{ template ,classs Allocator = allocator> class set; template ,classs Allocator = allocator> class m原创 2014-04-08 10:50:53 · 209 阅读 · 0 评论 -
STL容器之Deque
容器Deque Double-End Queue 双端队列也采用动态数组来管理元素,提供随机存取,并有着和Vector几乎一模一样的接口。不同的是Deque动态数组的头尾都是开放的,可以在头尾两端进行安插和删除。为了获取这样的功能,Deque通常由一组独立的区块实现,第一区块向某方向扩展,而最后区块向另一方向扩展。和Vector相似的模板声明:namespace std原创 2014-04-07 08:21:07 · 178 阅读 · 0 评论 -
STL容器之Map
Map和Multimap将键值对key/value pair作为元素,进行管理。它们可以根据key的排序准则自动给元素排序。Multimap允许重复元素,而Map不允许。定义:namespace std{ template,class Allocator = allocator>> class map; template,class Allocator原创 2014-04-08 17:53:06 · 283 阅读 · 0 评论