STL中的函数对象实现负数的定义
程序员文章站
2023-09-09 18:33:10
``` // // main.cpp // STL中的函数对象 // // Created by mac on 2019/5/2. // Copyright © 2019年 mac. All rights reserved. // 1.是否支持模版继承? // 2.模版中存在多个参数? includ ......
// // main.cpp // stl中的函数对象 // // created by mac on 2019/5/2. // copyright © 2019年 mac. all rights reserved. // 1.是否支持模版继承? // 2.模版中存在多个参数? #include <iostream> #include <functional> using namespace std; /* stl在<functional>中为常见的c++运算符定义了函数对象。其中负号的定义为: template <class t> struct negate:public unary_function<t,t>{ t operator() (const t&x)const{ return -x; } }; */ //计算(n,m)之间的和 n+...+m template <class f> double sum(f f,int n,int m) { double result=0; for (int i=n; i<=m; i++) { //还有一种简写的方式 result+=f(i); result+=f.operator()(i);//规范写法 } return result; } int main(int argc, const char * argv[]) { // insert code here... cout<<sum(negate<double>(),2,5)<<endl; return 0; }
运行结果
-14 program ended with exit code: 0
tips
- 类模版是否支持继承?
- 代码中的struct跟c中的struct不是一回事
- sum函数中第一个参数,需要传入一个对象,你看代码中传入了个啥玩意?为什么这样写不会报错?
- 如何理解unary_function<t,t>?
上一篇: php 代码优化之经典示例
推荐阅读
-
AngularJs中 ng-repeat指令中实现含有自定义指令的动态html的方法
-
在 Angular2 中实现自定义校验指令(确认密码)的方法
-
详解JAVA中接口的定义和接口的实现
-
javascript中如何用构造函数创建对象以及子类的继承?
-
Python实现调用另一个路径下py文件中的函数方法总结
-
Winform中自定义添加ZedGraph右键实现设置所有Y轴刻度的上下限
-
smarty模板引擎中自定义函数的方法
-
Pandas 中的join函数应用实现删除多余的空行
-
Pandas 中的join函数应用实现删除多余的空行
-
ms sql server中实现的unix时间戳函数(含生成和格式化,可以和mysql兼容)