怎么进行STL函数对象与函数指针的比较
发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,怎么进行STL函数对象与函数指针的比较,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、函数对象、函数指针的定义和使用二者定义方式不
千家信息网最后更新 2025年02月04日怎么进行STL函数对象与函数指针的比较
怎么进行STL函数对象与函数指针的比较,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
一、函数对象、函数指针的定义和使用
二者定义方式不同,使用方式相同。
#includeusing namespace std;//function objectclass obj_Add{public: int operator() (int val1, int val2) { return val1 + val2; }};//function pointerint fun_Add(int val1, int val2){ return val1 + val2;}int main(int argc, char *argv[]){ //function object obj_Add obj_add; cout< 二、函数对象、函数指针的区别
2.1 函数对象内可以携带附加数据,函数指针不行
见博客《STL函数对象:定义、及其在STL中的应用》中的2.2节。
http://blog.csdn.net/guowenyan001/article/details/10017799
2.2 函数对象可以用来封装类成员函数指针
#includeusing namespace std;//function objecttemplate class fun_Obj{public: fun_Obj(void (T::*f)(char *), T* t) : pFunc(f), m_t(t) { }public: void operator() (char* name) { (m_t->*pFunc)(name); }private: void (T::*pFunc)(char *); T* m_t;};//class output_Obj{public: void output(char* name) { cout<<"Hello "< fun_obj(&output_Obj::output, &output_obj); fun_obj("world."); return 1;}; 三、让一个函数既接受函数指针,又接受函数对象,最简单的方法就是使用模板。
#includeusing namespace std;//function objectclass great{public: great(int val) : m_val(val) { }public: bool operator() (int val) { return val > m_val; }private: int m_val;};//function pointerbool great10(int val){ return val > 10;}//functiontemplate int count_n(int* arr, int n, FUNC func){ int count = 0; for(int i=0; i 关于怎么进行STL函数对象与函数指针的比较问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。
函数
对象
指针
问题
方式
方法
更多
帮助
解答
不同
不行
易行
相同
简单易行
内容
博客
小伙
小伙伴
就是
成员
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
app软件开发需要视觉设计吗
河南莹润网络技术有限公司
深圳市网络安全工作
国外服务器代理翻墙
入侵服务器修改数据库
网络技术的根源
交通运输网络安全专业人员证书
服务器没有安全组
管家婆服务器名在哪儿查
金山区管理软件开发内容
数据库中int类型长度为空
软件开发后如何扩大业务
计算机网络技术专业弱势因素
网络安全 搭建环境
服务器个人可以买么
服务器机柜间距
湖北海纳通科技软件开发
网络安全专项清理整治开展情况
数据库的表如何存图片
九江web安全网络安全培训
网络安全两法两条例
数据库两列模糊数据匹配查询
网络安全内容30字诗歌
使用数据库小程序
关于东京奥运会的数据库
数据库核心工作是完成
linux同步时间服务器ip
初中毕业去学it软件开发好不好
万能钥匙连接网络安全不
lisa数据库全称