首页 > 编程语言 > 详细

C++函数指针 当作形参时候 如何使用,参数如何传递,举例试用

时间:2020-05-23 22:20:05      阅读:60      评论:0      收藏:0      [点我收藏+]
#include <iostream>
#include <string>
using namespace std;

//虽然不能定义函数类型的形参,但是形参可以是指向函数的指针
bool lengthcompare(const string &a,const string &b)
{
    return a.size() < b.size()? true: false;
}

//等价定义
//string useBig(const string &s1,const string &s2,bool pf(const string &a,const string &b))//第三个形参是函数类型,自动转换成指向函数的指针
string useBig(const string &s1,const string &s2,bool (*pf)(const string &a,const string &b)) //直接定义成指向函数的指针
{

    //函数指针作形参时,进入到函数里面后赋值,取返回值
    string a("abcuopppppp");//改变a,b的长度,可见输出s1或者s2.
    string b("fsfasdwa");

    
    //函数指针三种等价调用
    //bool p = pf(a,b);
    //bool p = lengthcompare(a,b);
    bool p =(*pf)(a,b);
    
    if(p)
    {
        return s1;
    }
    else
    {
        return s2;
    }
}
int main() {

    string s1("我是s1");
    string s2("我是s2");

    string result;

    //直接把函数当实参用.函数自动转换成指向函数的指针
    result = useBig(s1,s2,lengthcompare);

    cout<<result<<endl;
    return 0;
}

 

C++函数指针 当作形参时候 如何使用,参数如何传递,举例试用

原文:https://www.cnblogs.com/wbscpp/p/12944091.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!