码迷,mamicode.com
首页 > 其他好文 > 详细

仿函数--创建结构体或类的内部函数指针

时间:2015-05-26 21:08:07      阅读:116      评论:0      收藏:0      [点我收藏+]

标签:

仿函数--创建结构体或类的内部函数指针
#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();
}





仿函数--创建结构体或类的内部函数指针

标签:

原文地址:http://www.cnblogs.com/ZhangJinkun/p/4531465.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!