返回函数指针。
来源:互联网 发布:2017淘宝首页改版 编辑:程序博客网 时间:2024/06/05 02:44
来自:http://hi.baidu.com/girlkoo/blog/item/0addda0395a6fe084bfb515b.html
感谢原作者!!
/******************************************************************************************************************************/
这个朋友告诉我了两个问题,一是程序语句要简短明了,能让以后的人的很容的接手这个问题,这是程序员在软件开发过程重要注意的;二就是这个问题的理解,先定义一个这种指针类型,然后用这种指针类型定义函数,作为函数的返回值,函数体重的return语句返回的是一符合这一指针类型的函数。我自己编译了一个程序,成功了!下面是我实验的例子
int fun(const double a,const vector<string> &b,const int c)
{
cout<<a<<" "<<c<<endl;
for(vector<string>::const_iterator i=b.begin();i!=b.end();++i)
{
cout<<*i;
}
return 0;
}
typedef int(*ff)(const double a,const vector<string> &b,const int c);
ff func()
{
return fun;
}
int main()
{
vector<string> ch;
ch.push_back("abc");
int num=5;
typedef int (*npoint)(const double,const vector<string> &,const int);
npoint ptr=func();
ptr(1.7,ch,num);
return 0;
}
/*************************************************************************************************************/
问题是解决了,但是这一用法在软件开发中有什么作用呢?我向我们学习过程中是需要学会一种用法,更要知道怎么去用,正好,在这里留言的这位朋友解决了这个问题:
int add(int,int);
int sub(int,int);
typedef int (*)(int,int) A;
A AddOrSub(char oper)
{
if(oper == '+')
return add;
else
return sub;
}
总结一下,这一用法可以在某些判断条件下返回特定的函数指针以调用特定的函数,个人觉得这有点像设计模式中的简单工厂模式,不知道对不对,如果有精通设计模式的朋友可以指点一下,谢谢了
- 返回函数指针。
- 关于函数返回指针
- 返回指针的函数
- 返回指针的函数
- 函数返回 局部指针
- c函数返回指针
- 返回函数的指针
- C函数返回指针
- 返回指针的函数
- 函数返回指针
- 返回指针的函数
- 函数返回指针分析
- 返回指针的函数
- 函数返回指针
- 返回指针的函数
- c函数返回指针
- 函数返回指针
- 返回指针的函数
- 一个好用的日期时间类(java)
- 可以替换掉网页某个文件的代理
- Qt系列软件包 (搞不清Qtopia Core,Qt Extended,Qt-embedded.....的过来看看)
- 【asp.net 】使用js结合hidden控件实现在后台运行一段程序后提示确认,确认通过后继续执行后台代码~~~
- PostgresSQL将查询结果写入CSV文件
- 返回函数指针。
- jQuery插件Validation验证表单实现javascript表单智能验证功能
- TCPMP 原代码分析2
- 宁波数十储户银行卡被复制 几十万一夜蒸发
- Wu-Manber 经典多模式匹配算法
- php移队重复数组中的重复元素
- oracle数据库操作时报告磁盘没足够空间 解决方法
- HandlerThread.cpp:23: 错误:expected unqualified-id before ‘using’
- SQL作业--让数据库定期执行一个存储过程