如何让函数指针指向非全局的函数?

深入剖析STM32F103 I2C总线死锁问题及高效应对策略 本文深入剖析了STM32F103硬件I2C总线在轮询模式下发生死锁的根本原因,即硬件状态机的预取机制与软件响应速度不匹配。文章提供了高效的解决方案,包括在轮询模式下提前发送NACK/STOP信号、降低总线速度,以及治本的中断与DMA应用策略,帮助开发者根据项目需求选择最合适的方案,彻底解决这一经典硬件缺陷问题。 阅读详情
#include <iostream> 
using namespace std; 

class colors // 设置具体函数的类 
{ 
public: 
void show_color_rose(){cout << "red" << endl;} 
void show_color_lily(){cout << "white" << endl;} 
}; 

class flower 
{ 
public: 
void color(void (colors::*show_color)())// 可以用函数指针 
{ 
(colors().
*show_color)(); 
} 
}; 



int main() 
{ 
flower rose, lily; 
void (colors::*rose_color)() = &colors::show_color_rose; 
void (colors::*lily_color)() = &colors::show_color_lily; 
rose.color(rose_color); 
lily.color(lily_color); 
} 

 运行结果:

red
white

欢迎大家讨论...

UNITY3D万人同屏,Dots万人同屏解决方案_类萌宠宠之战 UNITY3D弹幕游戏开发,万人同屏解决方案 阅读详情

相关推荐

全志T133-s3(Tina Linux)下RTL8723DS WiFi驱动移植与调试实战

本文详细介绍了在全志T133-s3平台(Tina Linux)上移植RTL8723DS WiFi驱动的完整流程,包括硬件连接、驱动源码获取、内核配置、系统适配、设备树配置以及常见问题排查。通过实战案例,帮助开发者快速解决SDIO接口通信、固件加载、电源管理等关键问题,实现稳定的WiFi功能。

weixin_30505225的博客 507

函数指针在类与全局中的区别

在全局中,可以直接定义void test(int i){ std::cout int main(){ void (*pfn)(int); pfn = test; (*pfn)(1);}=========================================但是如果要使用在类中的函数指针会比较麻烦class MyClass{ void test(int i){ std::

SoL 学习无止境 756

SMETANA 安装使用教程

关于SMETANA的安装和简单使用信息

qq_44940977的博客 1169

C\C++调用另一个源文件中的函数

C\C++调用另一个源文件中的函数 回调函数法——利用函数指针 源文件 ‘main.c’ #include&amp;amp;amp;amp;lt;stdio.h&amp;amp;amp;amp;gt; void run(); //*声明将要用到的函数(最重要的一步)* extern void (*step)(void); //先声明一个全局变量(函数指针) void mystep_cb(void) { printf(&amp;amp;amp;quot;我要输出\n

雾胡的博客 1万+

从隐私保护到生命守护:CPD技术中的传感器选择与权衡

本文探讨了智能座舱中儿童存在检测(CPD)技术的传感器选择与隐私保护平衡策略。通过分析毫米波雷达、UWB等先进技术的性能与隐私风险,揭示了如何在确保儿童安全的同时保护用户隐私。文章还展望了CPD技术与座舱生态系统的未来融合趋势,为汽车安全领域提供了重要参考。

weixin_29159441的博客 301

【重磅更新】CT/MRI LI-RADS 2024:肝细胞癌局部区域治疗后反应评估的核心突破与临床实践指南

减少过度治疗:辐射 LRT 的 Nonprogressing 类别避免了 “持续强化 = 存活” 的误判,降低不必要的再治疗风险;提高检出效率:非辐射 LRT 的辅助特征升级减少了 Equivocal 比例,更早识别存活肿瘤;统一评估语言:标准化的分类标准为放射科、肝病科、肿瘤科、肝移植科的多学科协作(MDT)提供了统一 “沟通工具”,助力治疗方案的精准制定。

楚山之石的博客 1225

std::tr1::function

std::tr1::function

转载和创作优秀的博客 265

Graylog日志系统实战:高效接收与解析交换机日志

本文提供Graylog日志系统的实战部署与配置指南,重点讲解如何高效接收与解析交换机日志。通过Docker快速部署,配置Syslog输入,并指导华为、华三等主流交换机将日志发送至Graylog。文章还介绍了使用提取器解析日志字段、创建数据流进行分类,以及设置报警规则,实现从被动排查到主动预警的运维转变,帮助网络工程师构建集中、智能的日志管理系统。

weixin_29284885的博客 540

C++中std::tr1::function和bind 组件的使用

在C++的TR1中(Technology Report)中包含一个function模板类和bind模板函数,使用它们可以实现类似函数指针的功能,但却却比函数指针更加灵活,特别是函数指向类的非静态成员函数时。可以参考Scott Meyers. <<Effective C++ (3rd Edition)>>. Item 35.下面具体说明其使用方法。一、指向全...

weixin_30483495的博客 265

Win10 LTSC 2021 CPU占用率飙升?KB5017308补丁修复全攻略

本文针对Windows 10 LTSC 2021系统中因wsappx进程导致的CPU占用率异常飙升问题,提供了详细的解决方案。核心在于安装微软官方发布的KB5017308补丁,该补丁能从根本上修复系统组件缺陷,使CPU占用恢复正常。文章详解了补丁的下载、安装步骤、注意事项及安装后的验证方法,是解决此问题的权威指南。

python9snake的博客 1269

30天入门 SAP BTP 开发系列之四:SAP BTP 控制台里 Global Account 的常规操作介绍

笔者前一篇文章,介绍了 SAP BTP 中 Global Account 的概念。本文咱们一起来看看 SAP BTP 控制台里,给 Global Account 开放了哪些操作功能。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 869

std::tr1::function 的资料--------effective C++ 条款 35相关

本文转自:http://www.cnblogs.com/qlee/archive/2011/07/04/2097594.html    感谢前辈对我的帮助 在C++的TR1中(Technology Report)中包含一个function模板类和bind模板函数,使用它们可以实现类似函数指针的功能,但却却比函数指针更加灵活,特别是函数指向类 的非静态成员函数时。可以参考Scott Mey

学峰的学习笔记 620

串行RapidIO(Serial RapidIO,SRIO):协议介绍

目录一、RapidIO背景介绍二、RapidIO协议概述2.1 包与控制符号2.2 包格式2.4 消息传递2.5 全局共享存储器2.6 流量控制2.7 串行物理层三、I/O逻辑操作与包格式四、维护操作与包格式五、消息操作与包格式六、总结 本文是基于Xilinx平台SRIO介绍(一)RapidIO协议介绍的内容作读书笔记。 一、RapidIO背景介绍 RapidIO采用三层分级体系结构,包括逻辑层、传输层和物理层该分级结的如下图所示: ● 逻辑层:位于最高层,定义全部协议和包的格式,它们为端点器件发起和完

Starry__的博客 1万+

经典C++笔试题解析3

From: http://blog.youkuaiyun.com/sailor_8318/article/details/3188958 31、尽量避免类的值传递,用什么方法可以阻止用户的类值传递? 只要声明一个私有的拷贝构造函数即可,其不能被编译器调用,因此无法编译通过 class X{         X(X& x)  {                 cout

Vast_Sea的专栏 883

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

指针函数和函数指针

概述 指针函数和函数指针是C语言里两个比较绕的概念。但是不仅面试题爱考,实际应用中也比较广泛。很多人因为搞不清这两个概念,干脆就避而远之,我刚接触C语言的时候对这两个概念也比较模糊,特别是当指针函数、函数指针、函数指针变量、函数指针数组放在一块的时候,能把强迫症的人活活逼疯。 其实如果理解了这些概念的本质,是不需要死记硬背的,理解起来也比较容易。 指针函数 指针函数: 顾名思义,它的本质是一个函数...

禹鼎侯的博客 13万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

C++指针进阶——函数指针与指针函数

本文深入讲解了C++中指针函数与函数指针的核心概念与应用。指针函数是返回指针的函数,重点在于管理返回指针的有效内存;函数指针是指向函数的变量,用于实现回调机制。文章通过代码示例演示了动态数组创建、排序回调等实际应用场景,并强调了内存安全注意事项。掌握这两种指针技术对提升C++编程能力至关重要。

今天比昨天更努力一点! 9472

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

C和C++,函数指针,指针函数,函数指针数组

这就是一个简单的指针函数的定义语法。运行结果如下:这是只是一个简单的例子,但是值得注意的我在指针函数里面加了,这样该变量的生命周期也就和全局的变量的生命周期一致了,也就是只有当整体全部程序运行结束的时候该变量才会被销毁,如果不加关键字,那么该变量,会在函数执行完毕时就被销毁掉,就不能接受到返回地址,返回的会是一个乱码。同样的运行方式得到的结果:可以看到两者之间明显的区别。

YYYYYYJJJJJYYYYY的博客 1892

【C/C++】类成员函数指针 定义 使用方法

类成员函数编译器会默认加上一个隐藏的参数:this指针 所以定义类成员函数的指针与普通的函数指针肯定会有所区别: C++ 提供了三种运算符 ::* .* ->.用于定义和使用类成员函数指针 定义类成员函数指针时,注意&和类名作用域不能省略 使用指针间接调用函数优的点: 调用便于分层设计、利于系统抽象、降低耦合度 使接口与实现分开 提高代码的复用性、扩展性。类成员函数指针是指指向类中成员函数的指针 调用函数的两种方式: 通过函数名直接调用 通过函数指针间接调用 通过函数指针调用的好处:真正的函数

努力让自己的能力配得上梦想. 4156

函数指针在全局函数和在类内函数使用的区别

我们要做的是:将一个add函数作为另一个process函数的参数, 并在process函数里调用add;这个我们分别在全局函数中实现和在类中实现,看看两者有什么区别。 函数指针 先联想下,什么是函数指针和什么时候我们需要用到函数指针? 我的第一反应,函数指针,就是指向函数的指针,类比int* p //p是指向int的指针,那么函数指针 它的类型是什么,它应该怎么定义; 这时候我们想想什么时候用到函数指针,我的第一反应两个地方: a. dll 动态库加载的时候 b. 回调函数的时候 函数指针 它的类型是什么,

Kevin__Mei的博客 667

c/c++回调函数,定义,用法,函数指针赋值的方法,全局函数和成员函数赋值为函数指针

回调函数:通过函数指针由某个函数在特定场合下调用指针指向的函数,这个过程叫回调函数 将函数的指针(地址)作为参数传递给另一个函数,当这个指针用来调用其所指向的函数时,便是回调函数。 回调函数不由函数实现直接调用,而是在特定环境下由其他函数调用,用于对该事件或条件进行响应。 场景:程序员不好手工调用某函数时,交给其他函数控制时机调用该函数。 c/c++中回调函数的用法: 1.定义一个函数 void func() { cout<<"…"<<endl; } 2.定义一个函数指针 格式:返回

ganfanren00001的博客 1527

【C++基础】Day 8:函数指针 VS 指针函数 | 指针常量 VS 指向常量的指针

本文系统梳理了C++中两类易混淆指针概念:1)函数指针与指针函数:前者是指向函数的指针变量,用于回调、函数表等;后者是返回指针的函数。区分关键看标识符最近的符号是*还是()。2)指针常量与指向常量的指针:前者指针不可改但内容可改,后者内容不可改但指针可改,const位置决定限制对象。文章通过定义解释、图表对比、代码示例和面试题分析,帮助读者清晰区分这些高频考点概念,掌握指针声明的阅读技巧和使用场景。

冰冻三尺非一日之寒 1613

函数指针 指向 类成员!

在编程工作中常会遇到在一个“类”中通过函数指针调用成员函数的要求,如,当在一个类中使用了C++标准库中的排序函数qsort时,因qsort参数需要一个“比较函数”指针,如果这个“类”使用某个成员函数作“比较函数”,就需要将这个成员函数的指针传给qsort供其调用。本文所讨论的用指针调用 “类”的成员函数包括以下三种情况:  (1).将 “类”的成员函数指针赋予同类型非成员函数指针,如:  

wwwcs59的专栏 1682

C++ 非类成员函数指针(静态与非静态)、类成员函数指针(静态与非静态)以及这些函数地址的获取

/ 这里就定义了一个指向函数(这个函数参数仅仅为一个 int 类型,函数返回值是 int 类型)的指针 fp。在 C++ 中,获取函数的地址和打印函数的地址需要注意指针的类型。下面我们分别介绍普通函数指针、静态函数指针静态成员函数指针和非静态成员函数指针的情况。并用这些指针打印他们的地址。

xinxin的博客 1077

C语言 ---- 指针函数与函数指针

概述 指针函数和函数指针是C语言里两个比较绕的概念。但是不仅面试题爱考,实际应用中也比较广泛。很多人因为搞不清这两个概念,干脆就避而远之,我刚接触C语言的时候对这两个概念也比较模糊,特别是当指针函数、函数指针、函数指针变量、函数指针数组放在一块的时候,能把强迫症的人活活逼疯。 其实如果理解了这些概念的本质,是不需要死记硬背的,理解起来也比较容易。 指针函数 指针函数: 顾名思义,它的本质是一个函数,不过它的返回值是一个指针。其声明的形式如下所示: ret *func(args, ...); 其中,func

qq_41877840的博客 4810

带捕获的 lambda 与函数指针

介绍 lambda 函数和函数指针类型转换的方法。

Kovnt的博客 1900
上一篇: C++指针探讨 (三) 成员函数指针
下一篇: 创建函数指针到 C++ 成员函数
pbmichael
博客等级 码龄20年 13粉丝 21原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值