标准库function类型的小例子

原创 2015年11月20日 19:26:40
#include<iostream>
#include<functional>
#include<string>
#include<map>
using namespace std;

int add(int a,int b){
	return a+b;
}
struct divide{
	int operator()(int a,int b){
		return a/b;
	}
};
int main(){
	auto mod=[](const int&a,const int&b){return a%b;};
	map<string,function<int(int ,int)>>calculate;//map<string,(int*)(int,int)>仅仅适用于函数指针
	calculate["+"]=add;//函数指针
	calculate["/"]=divide();//函数对象
	calculate["*"]=[](const int& a,const int& b){return a*b;};//lamda
	calculate["-"]=minus<int>();//标准库函数对象
	calculate["%"]=mod;
	int a=7,b=2;
	cout<<calculate["+"](a,b)<<endl
		<<calculate["/"](a,b)<<endl
		<<calculate["*"](a,b)<<endl
		<<calculate["-"](a,b)<<endl
		<<calculate["%"](a,b)<<endl;
	system("pause");
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

Lua 标准库 - 基本函数(base function)

1、assert (v [, message])   功能:相当于C的断言,   参数:   v:当表达式v为nil或false将触发错误,   message:发生错误时返回...

Lua 标准库 - 基本函数(base function)

Lua 标准库 - 基本函数(base function) 责任编辑:cynthia作者:来自ITPUB论坛   2008-02-18    文本Tag: Lua   【IT168 技术文档】基本...

Lua 标准库 - 基本函数(base function)

1、assert (v [, message])   功能:相当于C的断言,   参数:   v:当表达式v为nil或false将触发错误,   message:发生错误时返回的信息,默认为"...

Lua 标准库 - 基本函数(base function)

【IT168 技术文档】基本函数库为Lua内置的函数库,不需要额外装载   1、assert (v [, message])   功能:相当于C的断言,   参数:   v:当...

C++“准”标准库Boost学习指南(11):Boost.Function

Boost.Function Function库实现了一个泛型的回调机制。它提供了函数指针、函数对象和成员函数指针的存储和后续的调用。当然,它与binder库,如 Boost.Bind 和 Bo...
  • cbNotes
  • cbNotes
  • 2016年10月19日 16:18
  • 975

【STL】标准库中count与count_if函数说明与例子

count_if函数原型如下: template inline typename iterator_traits::difference_type count_if(_InI...

[C/C++标准库]_[初级]_[unary_function 和 binary_function]

unary function 一元和二元函数.

C++ Primer 学习笔记(4)——标准库string类型

之所以空着笔记三,是因为3的内容要先于4,但似乎课本不是这么认为的。 string对象的定义和初始化 几种方式: string s1; //s1 is empty string s2(s1);...

【C++ Primer学习笔记】第3章:标准库类型

除第2章介绍的基本数据类型外,C++还定义了一个内容丰富的抽象数据类型标准库。 3.1命名空间的using声明 在编译我们提供的实例程序前,读者一定要注意在程序中添加适当的#i...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:标准库function类型的小例子
举报原因:
原因补充:

(最多只允许输入30个字)