• c++中调用函数实质


    (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

  • 相关阅读:
    服务器常用端口
    xml处理类
    水印的代码
    Asp.net常用的51个代码(非常实用)
    poj 2453
    MOD
    LIS(最长上升子序列)
    POJ各题算法分类(转)
    poj 1496&1850
    poj 1423
  • 原文地址:https://www.cnblogs.com/say-one-say/p/3899967.html
Copyright © 2020-2023  润新知