
【C++ STL】
文章平均质量分 70
空空的司马
微信搜『程序员加油站』,回复『pdfs』获取优质电子书
展开
-
顶层const和底层const
转载请注明出处!!《C++ primer》 (第五版)P57关于顶层const和底层const有部分介绍。原版中是这样描述的:2.4.3.Top-Level const As we’ve seen, a pointer is an object that can point to a different object. As a result,we can talk inde原创 2015-10-16 09:49:57 · 1809 阅读 · 0 评论 -
STL常用算法
#include 算法常用版本描述返回Typestd::find()find(_InIt _Fisrt,_InIt _Last,_Ty& _Val);从两个迭代器指定的范围中查找指定值引用被查找的值的iterator或end()std::find_if()原创 2016-11-17 19:04:53 · 1498 阅读 · 0 评论 -
C++STL学习(1)容器vector
注:博客内容均来自于对《C++标准库》侯捷,华中科技大学出版社一书的笔记。转载请注明出处。所有例程在Red Hat Linux 3.2.2-5版本上编译运行g++的版本是 g++ (GCC) 3.2.2 20030222vector可以理解成一个动态数组,vector的结构可以用下图来理解。 vector的特性:vector支持随机存储。可以在常数时间内存取任何一个元素。原创 2015-10-13 15:23:46 · 3431 阅读 · 0 评论 -
C++STL学习(4)容器set和multiset
注:博客内容均来自于对《C++标准库》侯捷,华中科技大学出版社一书的笔记。转载请注明出处。1、set和multiset set和multiset里面的元素都是“有序的”。因为set和multiset会根据特定的排序准则,自动将元素排序。不同的是set容器里面不允许有重复的元素,multiset容器允许存在重复的元素。 set和multiset通常都是以平衡二叉树来实现原创 2015-10-15 14:37:13 · 2376 阅读 · 0 评论 -
C++STL学习(2)容器deque
注:博客内容均来自于对《C++标准库》侯捷,华中科技大学出版社一书的笔记。转载请注明出处。1、Deques 容器deque和vector非常相似。也是采用动态数组来管理元素,提供随机存取。并且有着和vector一样的接口。但是deque的动态数组头尾都是开放的,因此能在头尾两端进行快速的添加和删除操作。deque通常实现为一组独立区块,第一区块向一方向扩展,最后一区块向原创 2015-10-14 14:42:06 · 2055 阅读 · 0 评论 -
C++STL学习(3)容器list
注:博客内容均来自于对《C++标准库》侯捷,华中科技大学出版社一书的笔记。转载请注明出处。1、listlist使用一个双向链表(doubly linked list)来管理元素。2、list与vector,deque的区别3、list的操作函数4、list例子#include #inc原创 2015-10-14 16:20:23 · 2089 阅读 · 0 评论 -
C++STL学习(12)STL深入(1) 设计简单的空间配置器
注:博客内容均来自于对《STL源码剖析》侯捷,华中科技大学出版社一书的笔记。转载请注明出处。所有例程在Dev-C++上编译运行,编译选择的是GUN C++11。1、写在前面 从这一片博客开始,对STL进行更深入的学习。《STL源码剖析》的笔记中的个人看法和理解,难免存在不妥之处,如果觉得不妥,敬请留言指正。相互交流,探讨,学习才能共同进步。2、空间配置器原创 2015-10-28 14:08:23 · 2426 阅读 · 1 评论 -
使用TinyXML读/写XML文件
1、TinyXML 引用网上的原话:TinyXML是目前非常流行的一款基于DOM模型的XML解析器,简单易用且小巧 玲珑,非常适合存储简单数据,配置文件,对象序列化等数据量不是很大的操作。支持对XML的读取和修改,不直接支持XPath,需要借助另一个相关的类库TinyXPath才可以支持XPath。 TinyXML源码是使用C++语言编写的,这对于C++应用来说是很好的XML原创 2015-12-03 15:33:04 · 9872 阅读 · 0 评论 -
C++STL学习(13)STL深入(2) SGI STL空间配置器
注:博客内容均来自于对《STL源码剖析》侯捷,华中科技大学出版社一书的笔记。转载请注明出处。所有例程在Dev-C++上编译运行,编译选择的是GUN C++11。1、SGI的STL空间配置器2、SGI的标准空间配置器SGI的标准空间配置器很上一篇博客中的空间配置器大体上基本一样。可以对比看两者的实现上一篇// 开头的这段声明原创 2015-10-30 11:40:35 · 2299 阅读 · 0 评论 -
C++STL学习(10)STL算法(1)
注:C++ STL算法部分主要直接来阅读STL源码库,源码来源于http://www.cplusplus.com/网站。《C++标准库》侯捷,华中科技大学出版社一书是在2001年出版的,之前的例程中不涉及C++11新标准,最新的源码库中有相当部分的算法采用了新标准。所以在原来的 g++ (GCC) 3.2.2 20030222 上编译无法通过。为了方便起见,就选用dev-c++来进行编译原创 2015-10-25 13:27:58 · 2165 阅读 · 0 评论 -
C++STL学习(11)STL算法(2)
注:C++ STL算法部分主要直接来阅读STL源码库,源码来源于http://www.cplusplus.com/网站。阅读了下网站上对STL的算法,才发现讲解的已经够清楚了,那么久熟悉下STL中都有哪些算法,来方便日后的使用。从下篇开始就跟着《STL源码剖析》来深入学校STL中的各种实现问题。接上一篇博客,STL中的其他算法,列举如下:原创 2015-10-26 14:59:56 · 1774 阅读 · 0 评论 -
C++STL学习(9)仿函数(function objects, functor)
注:博客内容均来自于对《C++标准库》侯捷,华中科技大学出版社一书的笔记。转载请注明出处。所有例程在Red Hat Linux 3.2.2-5版本上编译运行,g++的版本是 g++ (GCC) 3.2.2 20030222。1、仿函数 仿函数(functor),就是使一个类的使用看上去象一个函数。其实现就是类中实现一个operator(),这个类就有了类原创 2015-10-22 11:34:01 · 3389 阅读 · 4 评论 -
C++STL学习(8)迭代器
注:博客内容均来自于对《C++标准库》侯捷,华中科技大学出版社一书的笔记。转载请注明出处。所有例程在Red Hat Linux 3.2.2-5版本上编译运行,g++的版本是 g++ (GCC) 3.2.2 20030222。1、迭代器到底是什么? 根据书上定义:迭代器是一种“能够遍历某个序列内所有元素”的对象。我们可以将它理解成为一个指针,它指向容器中的元素,可以原创 2015-10-20 10:13:49 · 2103 阅读 · 0 评论 -
C++STL学习(5)容器map和multimap
注:博客内容均来自于对《C++标准库》侯捷,华中科技大学出版社一书的笔记。转载请注明出处。1、map和multimap map、multimap同set、multiset非常相似,他们里面的元素也都是“有序的”。也会根据规定的排序准则排序。不同的是map和multimap的元素都是键/值对的形式。除此之外他们并无其他的本质区别。set和multiset参见博客:原创 2015-10-16 14:57:19 · 2957 阅读 · 0 评论 -
C++STL学习(7)各种容器总结
注:博客内容均来自于对《C++标准库》侯捷,华中科技大学出版社一书的笔记。转载请注明出处。所有例程在Red Hat Linux 3.2.2-5版本上编译运行,g++的版本是 g++ (GCC) 3.2.2 20030222。1、何种情况运用何种容器各种容器的特性表:附加一些规则:2、异常处理注:博客内容均来自于对《原创 2015-10-19 19:04:53 · 2089 阅读 · 0 评论 -
C++STL学习(6)其他容器(string,array,hashtable等)
注:博客内容均来自于对《C++标准库》侯捷,华中科技大学出版社一书的笔记。转载请注明出处。1、string可以作为容器使用#include #include #include #include using namespace std;int main(int argc, char *argv[]){ string s("The zip code of Hond原创 2015-10-18 19:56:28 · 2179 阅读 · 0 评论 -
STL中的所有算法(70个)
STL算法部分主要由头文件,,组成。要使用 STL中的算法函数必须包含头文件,对于数值算法须包含,中则定义了一些模板类,用来声明函数对象。 STL中算法大致分为四类: 1、非可变序列算法:指不直接修改其所操作的容器内容的算法。 2、可变序列算法:指可以修改它们所操作的容器内容的算法。 3、排序算法:包括对序列进行排序和合并的算法、转载 2016-11-17 19:10:24 · 6149 阅读 · 3 评论