C++的静态成员函数指针
来源:互联网 发布:windows caffe mnist 编辑:程序博客网 时间:2024/06/05 18:57
先简单的说说非静态的成员函数。
非静态成员函数指针的类型: 类的非静态成员是和类的对象相关的。也就是说,要通过类的对象来访问变量。
成员函数的类型定义为:
typedef void (A::*pfunc)();
A是一个类,有一个成员函数void test();
使用:
pfunc p = A::test;
示例:
#include <iostream>using namespace std;class A {public : void test1() { cout << "test" << endl; };public :};typedef void (A::*PFunc)();int main() { A a; PFunc f = &(A::test1); (a.*f)(); system("PAUSE"); return 0;}
需要注意的是因为成员函数地址的解引用必须要附驻与某个对象的地址,所以我们必须创建某个对象,来调用这个函数。
静态成员函数,可以通过类作用域符来访问。
静态成员函数的类型:静态成员函数的地址可用普通函数指针储存,而普通成员函数地址需要用 类成员函数指针来储存。
typedef void (*pfunc) ();
这个和普通函数的指针是一样的。
使用的时候也可以像普通函数一样。
示例:
#include <iostream>using namespace std;class A {public : static void test1() { printf("test\n"); };public :};typedef void (*PFunc)();int main() { PFunc f = &(A::test1); (*f)(); system("PAUSE"); return 0;}另外:静态成员的初始化不受访问控制的限制。
根据C++primer所说,要想确保对象只定义一次,最好的办法就是把静态数据成员的定义和其他非内联函数的定义放在同一个文件中。
0 0
- C++的静态成员函数指针
- C++的静态成员函数指针
- [C++] 静态成员函数
- 【c++】类的静态成员函数
- 指向非静态成员函数的函数指针
- 函数指针指向类的静态成员函数
- 函数指针指向类的静态成员函数
- 成员函数的指针(C++)
- C++:指向对象成员函数的指针
- 类的成员函数指针,类的静态成员函数指针
- C++的 成员函数指针, 静态函数指针,全局函数指针 区别
- 关于类的静态成员函数指针的问题
- 通过指针访问类的静态成员函数
- 在封装的静态成员函数中使用类指针
- 类的非静态成员函数指针详解
- 普通函数,成员函数,静态成员函数与【指针】
- 静态类成员的指针
- C++static静态成员函数
- yii打印sql语句
- IOS开发-指纹识别
- Java类型转换实例
- Attribute Unavailable: First baseline layout attribute on iOS versions prior to 8.0
- 文章标题
- C++的静态成员函数指针
- 南邮 OJ 1100 最长回文子串
- 触摸事件分发机制总结
- The hierarchy of the type MethodBeforeAdvice is inconsistent
- [网络流24题] 05 圆桌聚餐(最大流判满流)
- 【android自定义控件】android ListView添加侧滑删除
- iOS学习笔记8-iOS 实现发送邮件和短信
- Java中String、StringBuffer和StringBuilder详解
- php redis