摘要: //type_traits.h----应用于STL内部,而非规范化内容 //类似的,利用对象来特例化 struct __true_type { }; struct __false_type { }; //设计榨取机 template struct __type_traits { typedef __true_type this_dummy_member_must_be_f... 阅读全文
posted @ 2014-12-14 17:25 miner007 阅读(437) 评论(0) 推荐(1) 编辑
摘要: template class iterator//表示迭代器针对泛型iterator_traits时的底层代码 { typedef T value_type; }; template struct iterator_traits//泛化iterator_traits,作用多层间接性 { typedef typname Iterator::value_type value_... 阅读全文
posted @ 2014-12-14 16:00 miner007 阅读(240) 评论(0) 推荐(0) 编辑
摘要: template class __default_alloc_template { private: enum {__ALIGN=8}; enum {__MAX_BYTES=128;}; enum {__NFREELISTS=__MAX_BYTES/__ALIGN}; /*struct obj { struct obj* fr... 阅读全文
posted @ 2014-12-07 15:17 miner007 阅读(334) 评论(0) 推荐(0) 编辑
摘要: /*用途:用于分配内存空间的模板,作为第一级分配;模板形参:无意义,模板内没有使用接口函数:allocate函数用于分配空间 reallocate函数用于指定地址重新分配空间 deallocate函数用于释放空间 set_malloc_hande... 阅读全文
posted @ 2014-12-07 15:14 miner007 阅读(233) 评论(0) 推荐(0) 编辑
摘要: enum类型:用途是整数和字符对应。 此处只是说明一下匿名枚举类型,enum {__ALIGN=8};此匿名枚举相当于静态常量,类似如下static const int __ALIGN=8; union类型:共享内存的意思,有意思的是一般都是放成员数据,但还是也可以放函数,这里需要说明的是它可以被理解成一个特殊的结构体。(注意不是总是都能放函数) 在STL中有这么一个union体:un... 阅读全文
posted @ 2014-12-07 15:13 miner007 阅读(532) 评论(0) 推荐(0) 编辑
摘要: 概念:函数指针指的就是指向函数的指针。定义:void (*F)(); 此处就是表示函数指针F指向一个形参为空,返回值为void的函数。理解为一个指针变量,类似于int* p量,注意它不是一个函数声明,所以没有函数体的。应用:定义前加个typedef void (*F)() 表示F是个类型了,void... 阅读全文
posted @ 2014-12-04 21:26 miner007 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 参考文献:http://blog.csdn.net/zhangxinrun/article/details/5940019new操作符:例子如下:int * pint=new int(23);它先在堆上分配内存空间;接着初始化这个内存空间;最后返回此指针。对于此操作是可以重载的,记住是只能在类中被重... 阅读全文
posted @ 2014-12-02 16:28 miner007 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 1:本章实例中,compare(const T &a,const T &b),在调用实例compare(“s”,”ss”)时编译出错,这是因为字面值”s”,”ss”的类型不一样,char * 的长度不一致导致;而如果是使用compare(const T a, const T b),则编译通过,因为这个赋值过程产生了string的构造函数调用而导致隐身的构造了string对象,从而可以。但是普通函数... 阅读全文
posted @ 2014-12-01 19:36 miner007 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 1:派生类不能访问基类的私有变量,设计这种规则原则是:基类为公有的,私有的,则表示不希望类外看到私有的;而有了继承,则需要考虑一些变量对派生类开放,故而在私有的局部成员中分出一部分为保护的;故而保护的是相对派生类的公有,而对类外相当于私有。由此设计基类时,先考虑哪些为公有,私有;再在私有中考虑哪些为派生可访问哪些不能。 2:基类指针不可以转为派生类指针,而派生类可以转为基类。 3:如果希望覆盖... 阅读全文
posted @ 2014-11-28 10:38 miner007 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 1:派生类不能访问基类的私有变量,设计这种规则原则是:基类为公有的,私有的,则表示不希望类外看到私有的;而有了继承,则需要考虑一些变量对派生类开放,故而在私有的局部成员中分出一部分为保护的;故而保护的是相对派生类的公有,而对类外相当于私有。由此设计基类时,先考虑哪些为公有,私有;再在私有中考虑哪些为派生可访问哪些不能。 2:基类指针不可以转为派生类指针,而派生类可以转为基类。 3:如果希望覆盖... 阅读全文
posted @ 2014-11-28 09:53 miner007 阅读(106) 评论(0) 推荐(0) 编辑