STL
文章平均质量分 72
Everlasting2016
我流我的汗水,华丽如天花乱坠
展开
-
operator*( )的重载(对于const修饰的成员变量的理解)
一、问题先来看看下面的程序:class INT{public: INT() { m_i = 20; } int& operator*()const { return m_i; }private: int m_i;};上面这段程序是编译不通过的,是由于operator*()函数是使用const进行修饰的,m_i现在为const int的类型,int&是不能进行引原创 2016-07-03 16:11:18 · 4865 阅读 · 1 评论 -
私有的静态成员变量
一、问题最近在看>的时候对自己掌握的类的私有的静态成员变量的初始化产生了怀疑,下面就是自己的对与这个知识点的复习与总结二、探索1、静态成员变量不能进进行赋值下面程序会报错class A{ static int i=0;};其实只有const修饰的成员变量才能这样进行赋值下面程序就是正确的class A{ const int i=0;};2、静态公用的成员原创 2016-06-30 18:37:07 · 2880 阅读 · 0 评论 -
仿函数
一、仿函数的简介1、什么是仿函数其实就是一个对象,这不过这个对象重载了operator( ),可以像函数一样使用它2、仿函数出现的意义要想然一个“操作”作为算法的参数,唯一的办法就是给这个操作设计为一个函数,然后将函数指针作为算法的一个参数;或者为这个操作设计出一个仿函数,然后通过仿函数产生一个对象,然后将这个对象作为算法的一个操作3、为什么有了函数指针还需要仿函数原创 2016-07-03 18:21:58 · 1878 阅读 · 0 评论 -
配接器
一、简介1、配接器其实是一种设计模式(1)将一个class的接口转换为另一个class的接口(2)是原本因为接口不兼容而不能合作的classes,可以一起运行2、分类(1)容器的配接器(2)迭代器的配接器(3)仿函数的配接器二、容器的配接器1、stack底层有deque实现template >class stack{protected:原创 2016-07-03 20:46:27 · 758 阅读 · 0 评论 -
空间配置器
一、空间配置器的简介1、空间配置器,其实一直在container背后默默的服务这,为其进行空间的分配2、为什么不是内存的配置器,而是空间的配置器因为空间不一定仅仅是指的内存,还有可能是硬盘或是其它辅助的存储介质3、STL包括一级空间配置器,二级空间配置器二、一级空间配置器1、其实就是直接使用了malloc()和free()三、二级空间配置器1、为什么引入二级空间原创 2016-07-04 06:50:29 · 315 阅读 · 0 评论 -
STL中map的operator[ ]使用方法
在STL中,map是一个关联式容器,它提供一对一的数据处理能力,即其中每一个元素都是一个键值对,通过一个唯一的关键字,可以唯一映射到对应的数据值。而map中重载了下标运算符[],通过下标操作,开发人员可以很方便地根据关键字获取到对应的值。虽然使用方便,但是还是有一些地方容易出现问题,值得大家的注意。 下面代码的输出结果会什么呢?map mapInfo;if ("k原创 2016-07-26 08:27:15 · 1742 阅读 · 0 评论 -
priority_queue的用法
priority_queue调用 STL里面的 make_heap(), pop_heap(), push_heap() 算法实现,也算是堆的另外一种形式。先写一个用 STL 里面堆算法实现的与真正的STL里面的 priority_queue用法相似的priority_queue, 以加深对 priority_queue 的理解#include #include #include u原创 2016-08-15 10:06:47 · 261 阅读 · 0 评论