摘要: 1 指向类成员的指针1.1 概念与常规指针不同,一个指向类成员的指针并不指向一个具体的位置,它指向的是一个类的特定成员,而不是一个特定对象里的特定成员。通常将指向数据成员的指针看作为一个偏移量。大多数编译器都将指向数据成员的指针实现为一个整数,其中包含被指向的成员的偏移量,另外加上1(加1是为了让值0可以表示一个空的数据成员指针)。这个偏移量告诉你一个特定成员的位置距离对象的起点有多少字节。声明一个类成员指针的语法如下:TYPE classname::* var;eg:class C{ public: int a_;};int c::*pimC;//一个指针,指向C的一个int成员C ac;C 阅读全文
posted @ 2013-03-09 14:50 landy聪 阅读(511) 评论(0) 推荐(0) 编辑
摘要: 1 仿函数的概念仿函数,又名函数对象,是一个定义了operator ()的对象。仿函数的主要功能代码在仿函数类的operator ()体内完成。仿函数的妙处:(1) 仿函数比一般函数更灵巧,可以用有状态,对于仿函数可以同时拥有两个状态的不同实体。(2) 每个仿函数都有其型别,通过传递不同型别的仿函数当作template参数给容器,可以构造出型别不同的容器。(3) 执行速度上,仿函数通常比函数指针快。很多stl算法有一个函数参数,例如remove_if,for_each等,这个函数可以是普通的全局函数,仿函数,类的成员函数(非static,static可以作为全局函数使用),类的成员函数比较特殊 阅读全文
posted @ 2013-03-09 11:24 landy聪 阅读(592) 评论(0) 推荐(0) 编辑