首页 > 编程语言 >C++ 函数指针

C++ 函数指针

时间:2024-08-21 14:26:02浏览次数:10  
标签:函数 int C++ FuncPtr1 函数指针 FuncPtr2

C++中函数指针表示指向函数的指针,其作用相当于函数的别名,通过函数指针可以直接调用对应的函数。
函数指针有两种表示方式,一种通过typedef进行声明,一种通过新的方式using来进行声明。

函数指针所指向的函数,其对应的形参个数、类型与返回值,都应该相同。

// FuncPtr1为函数指针,表示一种类型
typedef void(*FuncPtr1)(int a, bool b);

// FuncPtr2为函数指针,表示一种类型
using FuncPtr2 = int (*)(int a, int b);

void fun1(int a, bool b)
{
    printf("a = %d\n", a);
}

int fun2(int a, int b)
{
    return a + b;
}

int main()
{
    // 声明函数指针类型,指向对应的具体函数
    FuncPtr1 p11 = fun1;
    FuncPtr2 p21 = fun2;

    // 通过函数指针来调用对应的函数
    p11(6, false);
    int ret = p21(10, 50);
}

标签:函数,int,C++,FuncPtr1,函数指针,FuncPtr2
From: https://www.cnblogs.com/Jeffxu/p/18371524

相关文章

  • 基础知识|C++|封装、继承、多态
    一、封装、继承、多态是什么封装:将具体实现过程和数据封装成一个函数,只能通过接口进行访问,降低耦合性,使类成为一个具有内部数据的自我隐藏能力、功能独立的软件模块。意义:保护或防止代码在无意之中被破坏,保护类中的成员,不让类中以外的程序直接访问或者修改,只能通过提供的公......
  • C++: to_string()函数、stod()函数、atoi()函数
    将整型转换为字符串类型to_string()inti=40;strings=to_string(i);将字符串转换为double:stod()strings='40';doublex=stod(s);atoi函数  用于将C风格的字符串(constchar*类型)转换为整数(int类型)。如果使用atoi函数将字符串"123"转换为整数,会得到整......
  • C++类模板案例-数组类封装
    #include<iostream>usingnamespacestd;template<classT>classMyArray{public: MyArray(intcapacity) { this->m_Capacity=capacity; this->m_Size=0; this->pAddress=newT[this->m_Capacity]; } ~MyArray() { if(th......
  • VSCode系列 - 如何用VSCode搭建C++高效开发环境(2)
    1.插件的用法1.1.C/C++1.1.1.插件介绍1.1.2.插件配置1.2.Clang-Format1.3.cpp-check-lint1.3.1.cpplint1.3.2.cppcheck1.3.3.插件的使用1.4.C/C++AdvancedLint1.4.1.插件介绍1.4.2.插件配置1.5.BracketPairColorizer1.5.1.插件介绍1.......
  • 参诸文籍, 带你深入理解C/C++复杂指针声明
    参诸文籍,带你深入理解C/C++复杂指针声明本文参考的相关文章已置于页脚文章目录参诸文籍,带你深入理解C/C++复杂指针声明一.引言二.C/C++运算符优先级三.简单表达式一.`int*p;`二.`int**pp;`四.==解读C声明的“右左”规则`[重要]`==(一)、符号含义(二)......
  • C++运算符优先级
    优先级操作符描述例子结合性1()[]->.::++--调节优先级的括号操作符数组下标访问操作符通过指向对象的指针访问成员的操作符通过对象本身访问成员的操作符作用域操作符后置自增操作符后置自减操作符(a+b)/4;array[4]=2;ptr->age=34;obj.age=34;Class::ag......
  • BST 二叉搜索树 BinarySearchTree C++实现(递归/非递归)
    目录二叉搜索树基本概念常用结论用途二叉搜索树的性能分析二叉搜索树的操作查找插入删除代码实现BSTree.hpptest.cc二叉搜索树基本概念二叉搜索树(BST,BinarySearchTree)二叉搜索树又称二叉排序树,它或者是一棵空树,或者是具有以下性质的二叉树:若它的左子树不为空,则左子树......
  • 排序算法 排序性能测试代码(随机数调整,高精度时间) - C++
    目录测试工具源码testsort测试工具C++11标准库<chrono>中高精度计时器,时间精度可以达到1纳秒.C++11标准库<random>中随机数生成器,可以实现各类随机数,本测试主要用于实现9成随机数下排序性能源码源码我拆分成两部分,一部分为测试,一部分为sort源码.合并一起使用test......
  • VSCode系列 - 如何用VSCode搭建C++高效开发环境(1)
    VSCode是笔者用过的最好用的开发工具,没有之一。笔者14年的码龄生涯中,先后用过Eclipse、IntelliJIDEA、WebStorm、PyCharm、VisualStudio(2010/2013/2015)、NetBeans、SublimeText等,但自从用VSCode之后,就再没换过其他工具,一直用到现在有5年多的时间。1.本文目标这篇文......
  • C/C++计算一元二次方程ax²+bx+c=0的根,作业作弊神器
    //在日常计算中,我们通常要计算一元二次方程的根,当系数为整数时,硬着头皮算算就行,但如果系数位小数,有没掌握一定解题技巧,求根会变得异常困难,那么我们可以借助计算机的力量进行强行破解,只需在控制台上输入对应系数即可求根,大大提高计算效率。废话不多说上代码!!记得支持一下喔~~~//......