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();
    }





  • 相关阅读:
    xcode Git
    The OAuth 2.0 Authorization Framework
    Apache Commons 工具集介绍
    遍历map
    ClassLoader 提供了两个方法用于从装载的类路径中取得资源:
    转:mysql 索引
    StringBuilder与StringBuffer
    第四次作业
    Java Class 与 Object
    软件测试中条件覆盖,路径覆盖,语句覆盖,分支覆盖的区别
  • 原文地址:https://www.cnblogs.com/ZhangJinkun/p/4531465.html
Copyright © 2011-2022 走看看