c++容器(vector|map)中使用函数指针
#include <vector>
#include <map>
#include <string>
using namespace std;
// 声明一个函数指针
int(*pFunc)(int);
int func1(int nIn){return nIn + 1;}
int func2(int nIn){return nIn + 20;}
typedef int(*pInt)(int);//定义别名才能放在vector中
void main()
{
pFunc = func1;// 把函数名赋给函数指针
int n = pFunc(1);
pFunc = &func2;
n = pFunc(1);
//vector<int(*pFun)(int)> v_pFunc;//不能这样定义
//
vector<pInt> v_pInt;
v_pInt.push_back(func1);
v_pInt.push_back(func2);
int i = v_pInt[0](2);
i = v_pInt[1](2);
//
map<string,pInt> map_pInt;
map_pInt.insert(pair<string,pInt>("key1",func1));
map_pInt.insert(pair<string,pInt>("key2",func2));
int j = map_pInt["key1"](3);
j = map_pInt["key2"](3);
}
20121028更正vector可以直接放函数指针类型,没理解到位。
vector<int(*)(int)> v_pFunc;
v_pFunc.push_back(func1);
v_pFunc.push_back(func2);
int k = v_pFunc[0](5);
k = v_pFunc[1](5);
url:http://greatverve.cnblogs.com/archive/2012/10/27/vector-ptr.html
c++容器(vector|map)中使用函数指针相关推荐
- 结构体中定义函数指针
结构体指针变量的定义,定义结构体变量的一般形式如下: 形式1:先定义结构体类型,再定义变量 struct结构体标识符 { 成员变量列表;- }; struct 结构体标识符 *指针变量名; 变量初始化 ...
- 结构体中的函数指针(c语言里一种思想)
阅读raft源码的时候看到结构体里面的void(*xx) 看不懂这个地方,看上去又像面向对象的类方法,但是这是c语言的结构体啊,了解了这是函数指针.小趴菜~ 一.函数指针 函数指针是指向函数的指针变量 ...
- C语言中的指针应用,函数指针,指针函数,结构体中定义函数指针。
指针函数 指针函数就是一个返回指针的函数,其本质是一个函数,该函数的返回值是一个指针. 声明一个指针函数 int* fun(int x,int y); 例子 typedef struct _Data{ ...
- 结构体自定义指针函数c语言,C语言结构体中的函数指针
C语言结构体中的函数指针 C语言结构体中的函数指针内容由小编收集整理,希望对您的 学习有所帮助!更多内容请关注应届毕业生考试网! 结构体是由一系列具有相同类型或不同类型的数据构成的数据集合.所以,标准 ...
- 结构体自定义指针函数c语言,详解C语言结构体中的函数指针
结构体是由一系列具有相同类型或不同类型的数据构成的数据集合.所以,标准C中的结构体是不允许包含成员函数的,当然C++中的结构体对此进行了扩展.那么,我们在C语言的结构体中,只能通过定义函数指针的方式, ...
- C语言结构体中定义函数指针详解
C语言结构体中定义函数指针详解 结构体指针函数应用场景之一--驱动程序编写 结构体的一些基本用法 形式1:先定义结构体类型,再定义变量 形式2:在定义类型的同时定义变量 形式3:直接定义变量,用无名结 ...
- c语言 一个函数返回结构体指针,详解C语言结构体中的函数指针
结构体是由一系列具有相同类型或不同类型的数据构成的数据集合.所以,标准C中的结构体是不允许包含成员函数的,当然C++中的结构体对此进行了扩展.那么,我们在C语言的结构体中,只能通过定义函数指针的方式, ...
- c语言中结构体类型定义的函数指针,结构体中定义函数指针
结构体指针变量的定义 定义结构体变量的一般形式如下:形式1:先定义结构体类型,再定义变量struct 结构体标识符{ 成员变量列表;-};struct 结构体标识符 *指针变量名;变量初始化:stru ...
- C语言中的函数指针、函数的直接/间接调用、C# 委托(自定义委托、内置泛型委托、委托的实例化、委托的一般使用(模板方法、回调方法)、泛型委托、多播委托、同步/异步使用委托)
文章目录 C语言中的函数指针 函数的直接调用与间接调用 Java中没有与委托对应的功能实体 C# 委托 C# 自定义委托类型 C# 内置泛型委托类型 委托的实例化 委托也支持泛型的使用 委托的一般使用 ...
最新文章
- 2021高校毕业生薪酬Top100出炉!清华指数TOP,薪酬却排名第二
- 学习Html之后总结的超全的思维导图!
- python 自定义模块的发布和安装
- (转)Http协议经典详解
- Xdebug部分配置选项说明
- (六)使用Coral USB Accelerator在Raspberry Pi上部署YOLOv5模型
- https被修改成http排查过程
- 一只火鸡带你了解大数据预测(经典)
- docker打包部署flask镜像
- matlab里comb用法,comb_comb的意思和用法搭配
- 最好的开源网络入侵检测工具
- LTE Cat-M1 物联网模块直接连接全球蜂窝网络
- 笑一笑-道高一尺魔高一丈
- 341.基于高通量测序的微生物组研究技术简介
- jquery选择器连续选择_jQuery选择器简介
- 每天一练——斐波那契数列前N项之和
- iOS开发之谓词Predicate和对象数组的排序
- 计算机专业985性价比,十所具性价比的985高校
- 【电子学会】2020年06月图形化三级 -- 海底寻宝
- 服务器系统盘清理工具,Windows添加磁盘清理工具的方法