C++ 函数符
来源:互联网 发布:樱井知香资源百度云 编辑:程序博客网 时间:2024/05/21 06:27
一,什么是函数符?
函数对象也叫函数符,函数符是可以以函数方式与()结合使用的任意对象。这包括函数名、指向函数的指针和重载了()运算符的类对象。
二,使用重载了()运算符的类对象
重载的()运算符能像函数那样使用Plus对象
#include<iostream>using namespace std;class Plus{private: double y;public: Plus():y(0){} Plus(double y):y(y){} double operator()(double x){ return x * y; }};int main(){ Plus obj(6); double x = 4; cout<<obj(x)<<endl; return 0;}
三,如何声明for_each()的第三个参数
for_each()将指定的函数应用于区间中的每个成员
vector<int> books;for_each(books.begin(), books.end(), ShowReview);
如何声明第三个参数呢?不能把它声明为函数指针,因为函数指针指定了参数类型,STL通过使用模板解决了这个问题。
四,自定义对数组进行处理的函数
template<typename Function>void process(vector<int> &num, Function f){ for(int i = 0; i < num.size(); i ++){ f(num[i]); }}//声明一个函数符, 输出数组中的每个元素class Output{public: void operator()(int x){ cout<<x<<endl; }};int main(){ int a[5] = {1, 2, 3, 4, 5}; vector<int> num(&a[0], &a[5]); Output out; process(num, out); return 0;}
阅读全文
0 0
- [C/C++]C函数
- 【C++】赋值运算符函数
- C++:重载函数运算符
- 赋值运算符重载函数[C/C++/C#]
- c 函数
- C函数
- C 函数
- C函数
- 【C++】函数
- C 函数
- C++:函数
- C函数
- [C++]函数
- C函数
- c 函数
- C函数
- [C++]函数
- C函数
- ThreadLocal
- C++11学习
- Qt编程踩过的坑之QObject
- LCT(Link-Cut-Tree)学习笔记
- JAVA classpath路径问题以及Class.getResource()和ClassLoader.getResource()的区别
- C++ 函数符
- linux基本小知识
- 根据中序和先序重建二叉树+二叉树的镜像+二叉树的深度+判断后序序列+判断子树
- WUST 一笔画(图论知识之欧拉路)
- 约瑟夫环问题
- 算法:C++实现快速排序&归并排序
- GalaxyOJ-727 (线段树区间最小值)
- linux之入门---U盘安装centos7.3
- 二分查找-javascript