首页 > 其他分享 >函数指针

函数指针

时间:2023-03-27 20:18:30浏览次数:26  
标签:lee nums int void add 函数指针

函数指针的几种用法

#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 );  
}
 

 

标签:lee,nums,int,void,add,函数指针
From: https://www.cnblogs.com/hailanben/p/17262666.html

相关文章

  • 函数指针
        函数的二进制代码存放在内存四区中的代码段,函数的地址是它在内存中的起始位置。如果把函数的地址作为参数传递给函数,就可以在函数中的灵活的调用其它函数。使......
  • 常量指针与指针常量、指针数组与数组指针、指针函数和函数指针
    易混淆的几个概念常量指针与指针常量intvalue=0;intnum=1;//1.当const位于*左边时,称为常量指针constint*p1=&value;intconst*p2=&value;*p1=10;......
  • C++笔记-函数指针
    函数指针语法://fcnPtrisapointertoafunctionthattakesnoargumentsandreturnsanintegerint(*fcnPtr)();特点:函数指针的类型(参数和返回值)都必须和......
  • 使用qsort函数实现冒泡排序(函数指针的运用)
    //此程序的本质:完全理解qsort函数的传参的原则////实现思路:因为我们是模拟qsort函数//所以我们要自己创造一个:比较数据的函数:cmp_int//因此必须有一个函数指针来接收这......
  • c++函数指针
    一.定义介绍1.1定义如果在程序中定义了一个函数,那么在编译时系统就会为这个函数代码分配一段存储空间,这段存储空间的首地址称为这个函数的地址。而且函数名表示的就是这......
  • c++函数指针
    函数的地址是存储其机器语言代码的内存的开始地址。通常,这些地址对用户而言,既不重要,也没有什么用处,但对程序而言,却很有用。例如,可以编写将另一个函数的地址作为参数的函数。......
  • C语言学习 函数指针与typeof
    1#include<stdio.h>2#include<stdlib.h>3#include<io_utils.h>45//16int*(f1(int,double));78//29int(*f2)(int,double);1011//......
  • 函数指针实现加法操作
    1doubleadd(doublex,doubley)2{3returnx+y;4}56//double(*Calulate)(double,double);//声明一个函数指针789doubleCalulate(do......
  • 函数指针+返回数组指针遇到的坑的记录
    在手熟函数指针时,偷懒用了前面测试返回数组指针写的函数,想着比书上更复杂可以加深理解,没想到碰上很傻的bug还想了半天。1autogetArr3()->int(*)[5]{2intarr......
  • C++ 类的成员函数指针
    classdog{intname;public:dog();voidprintname();};dog::dog(){cout<<"dog构造"<<endl;};voiddog::printname(){cout<<"dog"<<endl;......