使用函数指针的两种方法

一、关键词

  1. 函数指针

二:知识点

  1. 函数指针使用typedef定义
//使用 typedef 定义函数指针
typedef int (*FuncType1)(int, int);

2. 函数指针使用`using`定义
// 使用 using 定义函数指针
using FuncType2 = int (*)(int, int);

三、实际运用

  1. 代码
#include <QCoreApplication>
#include <QDebug>

QString Func(int a,int b){
    return QString::number(a).append(QString::number(b));
}
using FuncP = QString (*)(int a,int b);
FuncP p = Func;

typedef QString (*Func2)(int,int);
Func2 p2 = Func;

void GetSomeData(QString (*p)(int,int),int a,int b){

    qDebug()<<p(a,b)<<"&p:"<<&p <<"*p:"<<*p;
}

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    GetSomeData(p,1,2);
    GetSomeData(p2,1,2);
    return a.exec();
}

  1. 运行结果
"12" &p: 0x7ffc54e7f438 *p: true
"12" &p: 0x7ffc54e7f438 *p: true
posted @ 2024-06-27 10:28  Labant  阅读(30)  评论(0)    收藏  举报