c++ 全局函数指针和类成员函数指针
2014-11-22 16:36
183 查看
c++非类成员函数指针定义 void (*pfun)( void);
为了叙述方便,先定义一个类:
class A
{
void (*pAfun)( void);
};
A类的成员数据pAfun和void (*pfun)( void)类型是不同的,
pAfun的类型是 void(A::*)(void),
pfun的类型是void (*)(void).
但是能否进行强制转换呢?答案是不能,原因分析:
void(A::*)(void)类型指针指向的函数可以访问类A的成员函数和成员数据,定义一个类对象a,
A a;
a.pAfun指针指向的函数必须包含a的this指针信息,但是pfun不可能包含a的this信息,所以肯定不能将两者进行
强制转化,强制转化必定是失败的.
为了叙述方便,先定义一个类:
class A
{
void (*pAfun)( void);
};
A类的成员数据pAfun和void (*pfun)( void)类型是不同的,
pAfun的类型是 void(A::*)(void),
pfun的类型是void (*)(void).
但是能否进行强制转换呢?答案是不能,原因分析:
void(A::*)(void)类型指针指向的函数可以访问类A的成员函数和成员数据,定义一个类对象a,
A a;
a.pAfun指针指向的函数必须包含a的this指针信息,但是pfun不可能包含a的this信息,所以肯定不能将两者进行
强制转化,强制转化必定是失败的.
相关文章推荐
- c++ 如何把this指针传入成员函数 像全局函数一样调用成员函数
- C++的 成员函数指针, 静态函数指针,全局函数指针 区别
- 转:关于在C++内用指针调用类的成员函数
- C++指针直接调用类成员函数探讨
- 成员函数指针与高性能的C++委托(中篇)
- 成员函数指针与高性能的C++委托(中篇)
- 成员函数指针与高性能的C++委托(上篇)
- C++的类成员函数指针
- C++指针直接调用类成员函数探讨(转载)
- 转:C++指针直接调用类成员函数探讨
- C++指针探讨 (三) 成员函数指针
- 谈函数指针(全局/类成员函数)和函数对象
- 【C++提高】成员函数指针
- 【C++提高】成员函数指针
- C++特性探寻-继承、成员函数、this指针
- 成员函数指针与高性能的C++委托(下篇)
- 成员函数指针与高性能的C++委托(下篇)
- 成员函数指针与高性能的C++委托(中篇)
- C++成员函数指针一种用法
- 转: C++指针直接调用类成员函数探讨