使用函数指针的两种方法
一、关键词
- 函数指针
二:知识点
- 函数指针使用
typedef
定义
//使用 typedef 定义函数指针
typedef int (*FuncType1)(int, int);
2. 函数指针使用`using`定义
// 使用 using 定义函数指针
using FuncType2 = int (*)(int, int);
三、实际运用
- 代码
#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();
}
- 运行结果
"12" &p: 0x7ffc54e7f438 *p: true
"12" &p: 0x7ffc54e7f438 *p: true
本文来自博客园,作者:Labant,转载请注明原文链接:https://www.cnblogs.com/lvshen/p/18270515