函数指针和lambda函数

函数指针的几种用法

复制代码
#include<iostream>
#include<vector>
using namespace std;
void add(int a, int b) {
    cout<<a + b<<" ";
}
void ForEach(const vector<int>& nums,void (*add)(int a,int b)){
    for (int i = 0; i < nums.size() - 1; i++) {
        add(nums[i], nums[i + 1]);
    }
}

int main()
{
    vector<int> nums{ 2,4,5,6,7,8 };
    auto function = add;//这里auto的类型是void(*)(int,int)
    void(*lee)(int, int) = add;//这里的lee就代表名字,可以用lee替换add 
    typedef void(*AddFunction)(int,int);//此处AddFunction就是这种函数指针类型的别名
    AddFunction addfunction = add;
    ForEach(nums, lee);
    ForEach(nums, function);
    ForEach(nums, add);
    ForEach(nums, addfunction );  
}
 
复制代码

 只要有一个函数指针,那么都可以使用lambda

 

posted @   海蓝笨  阅读(22)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示