zoukankan      html  css  js  c++  java
  • 12,C++中 .* 可以出现在什么地方?有何作用?

    .*运算符表示什么意思?好几次遇到.*,但不知道如何使用。后来发现,可以体现在成员函数指针的调用上。

    1,函数指针指向公有非静态的成员函数。此时,必须创建一个对象来调用函数指针。

     1 class Container{
     2 public:
     3     void print(){
     4         printf("printf()");
     5     }
     6 };
     7 
     8 int main()
     9 {
    10     void (Container::*p)();             //指明是指向成员函数的指针
    11     p = &Container::print;
    12     Container c;
    13     (c.*p)();
    14     return 0;
    15 }

    2,函数指针指向静态函数。

     1 class Container{
     2 public:
     3     static void print(){
     4         printf("printf()");
     5     }
     6 };
     7 int main()
     8 {
     9     void (*p)();
    10     p = &Container::print;
    11     p();
    12     return 0;
    13 }
  • 相关阅读:
    Arbitrage
    Big Event in HDU
    敌兵布阵
    Eddy's picture
    A Walk Through the Forest 最短路径+深搜
    Holding Bin-Laden Captive! 母函数
    Moving Tables 贪心
    Fire Net
    Number Sequence
    Find your present! map
  • 原文地址:https://www.cnblogs.com/letgo/p/5914119.html
Copyright © 2011-2022 走看看