c++:成员指针运算符 .* 和 ->*

有一种特殊的指针叫做成员指针,它们通常指向一个类的成员,而不是对象中成员的特定实例。

成员指针并不是真正的指针,它只是成员在对象中的偏移量,它们分别是:.* 和 ->* 。

一个例子:

class ClassName {public: int foo(int); }

int (ClassName::*pmf)(int) = &ClassNmae::foo;

ClassName  c;    //.*的用法,经由对象调用
(c.*pmf)(5);

ClassName *pc = &c;  //->*的用法,经由对象指针调用
(Pc->*pmf)(6);
->*只是把c变为对象指针

参考:http://vipjy2008.blog.163.com/blog/static/372087672013933226346/

http://zhidao.baidu.com/link?url=TVPi6OfAvwfWiIob_FLQloCpSX0s59qJiAbpCNllXu8wirVyA-_vM8YpUmJjxHYAY8sQgbF0y4m9jbkbwdJuYq

阅读更多

扫码向博主提问

chs007chs

非学,无以致疑;非问,无以广识
  • 擅长领域:
  • java
  • linux
去开通我的Chat快问
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/CHS007chs/article/details/31787435
上一篇XmlNode中Value和InnerText的区别
下一篇c#中的yield关键字
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭