C++的成员指针
来源:互联网 发布:获取服务器ip和端口号 编辑:程序博客网 时间:2024/04/29 20:52
如果不是读《C++编程思想》,恐怕我到今天也不会知道成员指针这东西,真是让我大开了眼界。按我的理解,普通指针指向的地址是相对于整个内存空间的,而成员指针并不包含真实的地址,它实际上代表了一个成员在其类范围内的相对位置。一个小程序可以解释成员指针的用法。
#include <iostream>
using namespace std;
class C
{
public:
int i,j,k;
void f()
{
cout<<i<<' '<<j<<' '<<k<<'/n';
}
};
int main()
{
C c;
c.i = 1;
c.j = 2;
c.k = 3;
C *pc = &c;
int C::*pm = &C::j;
cout<<c.*pm<<pc->*pm<<'/n';
void (C::*pmf)() = &C::f;
(c.*pmf)();
(pc->*pmf)();
return 0;
}
这段代码输出为22和1 2 3。pm定义为指向C类成员j的指针,在对象c上应用pm时将输出c对象的成员j的值。当然,对于private成员是不行的。pmf指向C的成员函数f,在对象c上调用pmf时,将调用成员函数f。原理并不复杂,只是尚不清楚在哪些场合适合用这种机制。
- 成员函数的指针(C++)
- C++:指向对象成员函数的指针
- C++_Primer_chapter18 3.类成员的指针
- 【boolan c++】 带有指针成员的class
- 含有指针成员的类的拷贝[C/C++/C#]
- C++指向成员的指针-成员指针
- C++的成员函数指针简要
- 成员函数指针与高性能的C 委托
- C++的成员函数指针简要
- C/C++学习笔记:指向类成员变量的指针
- C++的成员函数指针简要
- C++的成员函数指针简要
- C++的成员函数指针简要
- C++基础系列--指向数据成员的指针
- Thinking in C++: Pointers to members 指向成员的指针
- C语言结构体里的成员数组和指针
- C语言结构体里的成员数组和指针
- C语言结构体里的成员数组和指针
- u-boot启动代码start.S详解
- mfc嵌入Flash的交互
- Hibernate多对多单向关联(2个一对多)
- tomcat非安装方式,添加windows服务启动方式
- u-boot lds文件详解
- C++的成员指针
- 下了个游戏不料中了招,实在是郁闷
- 无限级分类(使用TreeView显示)
- xvid解码 SDL显示 源程序
- SQLServer索引调优实践(2) - 索引覆盖
- 个人简介
- C++内存管理
- glut键盘输入详解
- 总算把cuda环境弄好