C++:函数指针int(*FunType)(int, int)与函数指针类型别名typedef int(*FunType)(int, int)的区别

typedef int(*FunType)(int, int)int(*FunType)(int, int) 是两种不同的函数指针类型定义方式,它们之间的区别在于语法和使用方式。

  1. typedef int(*FunType)(int, int)

    这是通过 typedef 关键字创建了一个别名 FunType,用于表示指向具有相同签名的函数的函数指针类型。

    • 语法上,通过 typedef 关键字将 int(*FunType)(int, int) 定义为 FunType 的别名。
    • 使用时,可以直接使用 FunType 来声明函数指针变量,并将其与特定函数关联。

    示例:

    typedef int(*FunType)(int, int);
    
    int add(int a, int b) {
        return a + b;
    }
    
    FunType ptr = &add; // 声明并初始化函数指针
    int result = ptr(3, 4); // 调用函数指针
    
    

    cpp复制代码

    typedef int(*FunType)(int, int); int add(int a, int b) { return a + b; } FunType ptr = &add; // 声明并初始化函数指针 int result = ptr(3, 4); // 调用函数指针
  2. int(*FunType)(int, int)

    这是直接定义了一个函数指针类型 FunType,它表示指向具有相同签名的函数的函数指针类型。

    • 语法上,直接将 int(*FunType)(int, int) 定义为 FunType 类型。
    • 使用时,需要显式地声明函数指针变量,并将其与特定函数关联。

    示例:

    int (*FunType)(int, int); // 声明函数指针类型
    
    int add(int a, int b) {
        return a + b;
    }
    
    FunType ptr = &add; // 声明并初始化函数指针
    int result = ptr(3, 4); // 调用函数指针
    
    

    cpp复制代码

    int (*FunType)(int, int); // 声明函数指针类型 int add(int a, int b) { return a + b; } FunType ptr = &add; // 声明并初始化函数指针 int result = ptr(3, 4); // 调用函数指针

总结:

  • typedef int(*FunType)(int, int) 使用 typedef 关键字创建了一个别名 FunType,将其定义为函数指针类型。
  • int(*FunType)(int, int) 直接定义了一个函数指针类型 FunType
  • 11
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值