首页 > 编程语言 > 详细

c++中调用函数实质

时间:2014-08-08 20:57:06      阅读:490      评论:0      收藏:0      [点我收藏+]
(m_pListener->*m_pfnSelector)(this);
m_pListener是class的实例
m_pFnSelector是存的函数的指针

 这句可能要稍微解释下,其实也挺好懂的。首先前面这个括号就是对应的函数,后面的this就是参数,这个满足对函数指针的定义,即void (CCObject::*)(CCObject*); 因为CCMenuItem基类是CCObject,那其实调用的场景(CScene)基类也一样。然后就是m_pListener->*m_pfnSelector这个了,前面的Listener应该没啥疑议,关键是*m_pfnSelector可能有些人会懵,其实也很简单,m_pfnSelector是函数指针,首先他是个指针,存的是个地址,然后*自然是取对应地址内的内容(函数地址),对于函数调用来讲,其实就是调用一个地址,而m_pListener->m_pfnSelector明显是错误的,因为调用者没有m_pfnSelector这个成员变量,他只有对应这个指针内部存储的函数地址对其是有效的

copy自:http://blog.csdn.net/xiebaochun/article/details/23917743

c++中调用函数实质,布布扣,bubuko.com

c++中调用函数实质

原文:http://www.cnblogs.com/say-one-say/p/3899967.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!