函数对象
来源:互联网 发布:uu加速器mac版 编辑:程序博客网 时间:2024/06/16 08:57
函数对象
一个类重载了圆括号运算符() 则该类的对象就成为了函数对象
一般只有函数和函数指针后面会跟圆括号
而这里是一种新的形式 看上去像是一个函数调用 但是这是一个对象
什么样的形参才能和函数相对应呢? 函数指针 注意函数指针的优先级问题 加上小括号表示为指针
实参可以是一个临时变量或者对象 可以没有名字 因为只起一个给形参传递值得作用 形参有名字就可以了
函数对象 作用很有意思 解决了函数重载都不能完成的事情
首先 函数如果没有重载那么一个函数只能做一件事情 只能对一种数据结构操作
这样是十分傻逼和低效的 因为对不同的数据结构操作同样的事情 就要写无数类似的函数 简直浪费
函数重载只能解决 对于不同的数据结构的操作问题 与此同时 如果对于同样的一种数据我们要进行同样的操作但是操作中间某个参数的大小需要改变
那么每改变一次就要对原函数重新写一次 或者就要写多个只是操作参数不同的函数 又是写重复的东西 简直浪费
而函数对象可以解决这样的问题
将参数封装在对象里 再对圆括号进行重载 这样我们每次只要实例化不同的对象 那么对应的对象的参数就是不同的 而且圆括号已经重载
在调用对象的圆括号操作符的时候也可以达到调用相应函数的作用 那么只要写一个类就可以通过实例化不同的对象达到实现相同类型的函数作用但是不同操作参数的作用 十分有意思!!
再加上类模板的性质 同样可以对不同的数据结构作用 所以函数对象可以说很全面 !!
函数对象类模板 :
头文件
equal_to
greater
less
…
阅读全文
0 0
- 函数对象
- 函数对象
- 函数对象
- 函数对象
- 函数对象
- 函数对象
- 对象 函数
- 函数对象
- 函数对象
- 函数对象
- 函数对象
- 函数对象
- 函数对象
- 函数对象
- 函数对象
- 函数对象
- 函数对象~
- 函数对象
- OpenSSL生成公钥私钥
- unity3d ngui 笔记3
- JAVA编程典型题目
- 菜鸟编程 一个练习
- 技术网站收藏
- 函数对象
- python3之1010.一元多项式求导 (25分)
- sqlldr加载excel数据到oracle中,同时序列自增
- 《C++程序设计语言(英文第四版)》【PDF】下载
- Javascript 如何将html转成pdf并下载
- 关于在server2012添加IIS功能中出现WinRM无法启动的问题解决过程
- Python启动信息
- RequestParam.value() was empty on parameter 0
- 《C++程序设计语言(英文第四版)》【PDF】下载