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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/CHS007chs/article/details/31787435

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

 

 

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

 

 

 

一个例子:

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

 

最后欢迎大家访问我的个人网站: 1024s

阅读更多

扫码向博主提问

chs007chs

非学,无以致疑;非问,无以广识
  • 擅长领域:
  • java
  • linux
去开通我的Chat快问

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