通读《泛型编程与STL》,总的感觉是这本书前后反差较大,前半部分非常抽象,后半部分-类似一个API速查手册,相对简单。
STL主要涉及三个方面:容器,迭代器,算法,各自职责为:容器存数据,迭代器取数据,算法操纵数据。它们之间的简单关系是:算法通过迭代器操作容器,容器通过迭代器访问自身数据元素。可以说,迭代器做到了让算法和容器解耦,同时,模板又做到了让迭代器与数据类型解耦。迭代器起到了...
分类:
其他好文 时间:
2014-12-25 22:13:39
阅读次数:
185
各类容器迭代器失效的场景:
其实在定义迭代器失效的时:在某些操作完成以后,认为这个迭代器指向的值有变化或者迭代器直接指向不合法的空间,都认为迭代器失效。只要不是指向操作之前的值都认为迭代器失效。
当要将元素安插于vector内,大小与容量之间的差别就变得格外重要。如果vector的大小等于其容量,安插新元素的唯一方法就是增加这个vector的内存总量,这意味得分配一块新的而且更大的内存,再将旧...
分类:
其他好文 时间:
2014-12-22 16:21:06
阅读次数:
136
督促读书,总结精华,提炼笔记,抛砖引玉,有不合适的地方,欢迎留言指正。标准库vector类型初探,同一种类型的对象的集合(类似数组),是一个类模版而不是数据类型,学名容器,负责管理 和 存储的元素 相关的内存,因为vetcor是类模版,对应多个不同类型,比如int,string,或者自己定义的数据类...
分类:
编程语言 时间:
2014-12-04 23:09:06
阅读次数:
348
一:泛型算法 简介
(1)所有标准库容器都有支持递增运算符、递减运算符(++、--、== !=)这四种运算符的迭代器;string 和 vector 提供了更多的运算符(> >=
(2)标准库并未给每一个容器都定义成员函数来实现排序、查找、复制等操作,而是定义了一组泛型算法(generic algorithm)。
(3)迭代器令算法不依赖于容器
(迭代器的知识请看 : 初始迭代器 ite...
分类:
编程语言 时间:
2014-11-26 20:56:05
阅读次数:
302
STL 标准模板库标准模板库(Standard Template Library,缩写:STL)是一个C++软件库, 包括5个组件,分别是:算法、容器、迭代器,函数和适配器。 一:容器之初始化:1.直接初始化一个空的容器;2.用一个容器去初始化另一个容器;3.指定容器的初始大小;4.指定容器的初始大...
分类:
编程语言 时间:
2014-09-23 03:21:43
阅读次数:
340
C++ STL====Standard Template Library C++ 标准模板库,即 C++泛型库它在std命名空间中定义了常用的数据结构和算法C++ STL提供了三种类型的组件-----容器 迭代器 算法容器----顺序容器
分类:
编程语言 时间:
2014-07-30 20:18:34
阅读次数:
209
1. 顺序容器的初始化操作1.1 顺序容器(vector,list,deque)的五种初始化方法,以 vector 为例。#include #include #include using namespace std;int main(int argc, const char *argv[]){ .....
分类:
编程语言 时间:
2014-07-19 19:27:08
阅读次数:
278
今天看C++的书,出现了一个新的概念,容器vector以及容器迭代器。vector是同一种对象的集合,每个对象都有一个对应的整数索引值。和string对象一样,标准库将负责管理与存储元素相关的类存。引入头文件#include1.vector对象的定义和初始化1 vector v1 ...
分类:
编程语言 时间:
2014-07-16 20:43:50
阅读次数:
135
一、简介我们在学习C++的过程中,学到STL是必然的,那么STL的入门就是vector了。vector是同一种类型的对象的集合,vector很像数组,空间是连续的,能非常高效和方便的访问单个元素,但是它支持动态增加和压缩数据,所以这是矛盾的,这个问题,我们会在后期的STL源码的分析中来..
分类:
编程语言 时间:
2014-06-16 17:20:17
阅读次数:
254
1 头文件 所有容器有含有其各自的迭代器型别(iterator
types),所以当你使用一般的容器迭代器时,并不需要含入专门的头文件。不过有几种特别的迭代器,例如逆向迭代器,被定义于中。 2 迭代器类型
迭代器共分为五种,分别为: Input iterator、Output iterator、Fo...
分类:
其他好文 时间:
2014-05-31 06:45:24
阅读次数:
277