c++:メンバーポインタ演算子.*および->*
592 ワード
オブジェクト内のメンバーの特定のインスタンスではなく、通常クラスのメンバーを指すメンバーポインタという特殊なポインタがあります.
メンバー・ポインタは本物のポインタではありません.オブジェクト内のメンバーのオフセット量だけです.それぞれ:.*および->*です.
参照先:http://vipjy2008.blog.163.com/blog/static/372087672013933226346/
http://zhidao.baidu.com/link?url=TVPi6OfAvwfWiIob_FLQloCpSX0s59qJiAbpCNllXu8wirVyA-_vM8YpUmJjxHYAY8sQgbF0y4m9jbkbwdJuYq
メンバー・ポインタは本物のポインタではありません.オブジェクト内のメンバーのオフセット量だけです.それぞれ:.*および->*です.
:
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