zoukankan      html  css  js  c++  java
  • 仿函数--创建结构体或类的内部函数指针

    仿函数--创建结构体或类的内部函数指针
    #include<iostream>
    #include<iostream>
    #include<functional>

    using namespace std;
    using namespace std::placeholders;

    //仿函数 创建一个结构体或类的内部函数的函数指针
    struct MyStruct
    {
            void add( int a){
                  cout << a << endl;
            }

            void add2( int a, int b){
                  cout << a << " ";
                  cout << b << endl;
            }

            void add3( int a, int b, int c){
                  cout << a << " ";
                  cout << b << " ";
                  cout << c << endl;
            }

    };

    void main(){
            MyStruct ms;
            //func是一个函数指针
            //_1表示add方法只有一个参数,它只表示一个占位
            //&MyStruct::add 是取出add在代码区的地址
            //取出add方法后,必须把它放到一个ms实体上执行
            //auto 自动变量
            //第一个参数引用一个内部函数,第二个绑定一个实体对象,第三个表示占位
            auto func = bind(& MyStruct::add, &ms, _1);
            auto func2 = bind(& MyStruct::add2, &ms, _1, _2);
            auto func3 = bind(& MyStruct::add3, &ms, _1, _2, _3);
            func(100);
            func2(22, 98);
            func3(25, 38, 222);
            cin.get();
    }





  • 相关阅读:
    我的学习记录-JAVA SE 03
    我的学习记录-JAVA SE 02
    我的学习记录-JAVA SE 01
    我的mysql的学习记录
    Hibernate4学习一
    java3
    java5
    java基础4
    java2
    java
  • 原文地址:https://www.cnblogs.com/ZhangJinkun/p/4531465.html
Copyright © 2011-2022 走看看