在unordered_map中存放函数指针
来源:互联网 发布:c语言的应用范围 编辑:程序博客网 时间:2024/06/06 08:24
在文章C++类里面使用函数指针 和对于C++函数指针的理解 两篇文章中已经对函数指针有一定的说明,这里介绍一下在map中存放指针。
其实在map中存放指针的想法的得来是因为在函数中的if--else
语句太多,根据不同的条件执行不同的语句,然后就想为什么不把判断条件放在map的key
位置,而把函数指针放在value
位置呢,这样一个while
循环就可以执行完判断和函数调用两个功能了。
头文件中包含map
#include <unordered_map>
声明map
std::unordered_map<char,BOOL(ClassName::*)()> v;
插入函数
v[BOOT] = &ClassName::OrderBoot;v[KEY] = &ClassName::OrderKey;v[ERASE] = &ClassName::OrderErase;v[SPERASE] = &ClassName::OrderSPErase;v[PROGDATA] = &ClassName::OrderProgData;v[PROGRAM] = &ClassName::OrderProgram;v[BOOTEND] = &ClassName::OrderBootEnd;v[GETVERSION] = &ClassName::OrderGetVersion;v[MAINSTART] = &ClassName::OrderMainStart;inStart;
然后
UCHAR orderList[10];orderList[0] = BOOT;orderList[1] = KEY;orderList[2] = ERASE;orderList[3] = BOOTEND;orderList[4] = GTVERSION;orderList[5] = GETVERSION;orderList[6] = MAINSTART;while(state != 0) { dlg->sendThreadState = state; state = ((dlg->*v[orderList[j]])())? orderList[++j]:0; }
0 0
- 在unordered_map中存放函数指针
- vector中存放函数指针
- C++中this指针存放在哪里
- 【示例】C语言中利用数组存放函数指针
- 用vector存放函数指针~
- c++ vector中存放指针
- 在NSDictionary中存放Selector
- 指针数组,数组指针,存放数组指针的数组,指向存放数组指针数组的指针,函数指针,函数指针数组,指向函数指针数组的指针
- 关于Vector中存放指针的问题
- linux系统中在使用unordered_map时,报错...
- 使用unordered_map和函数指针实现类私有函数的调用
- 在成员函数中delete this指针
- C 函数指针 在OC中应用
- 虚函数表存放在哪里
- 虚函数表存放在哪里
- 问题:调用函数时,相关参数在堆栈中是如何存放的?
- C++指向虚函数表指针存放位置
- C++中虚函数表存放位置
- 利用Fiddler抓取手机数据包
- 下载网站上的视频的方法
- ncurese.h
- hdu 1203 I NEED A OFFER!(01背包)
- JavaScript 基础
- 在unordered_map中存放函数指针
- git基本概念
- laravel应用程序的秘钥
- php基础语法
- hdu1176(DP)
- mybatis查询时间段sql语句
- 【内部类】静态内部类及应用
- Queue队列API与源码分析优先级队列PriorityQueue实现原理
- 深入四大组件之Activity