当前位置: 首页 > news >正文

无网站营销黔西县住房和城乡建设局网站

无网站营销,黔西县住房和城乡建设局网站,市场营销十大经典案例,WordPress文章搜索cpu飙升1#xff0c;函数对象 1.1 函数对象概念 概念#xff1a; 重载函数调用操作符的类#xff0c;其对象常称为函数对象函数对象使用重载的#xff08;#xff09;时#xff0c;行为类似函数调用#xff0c;也称为仿函数 本质#xff1a; 函数对象#xff08;仿函数函数对象 1.1 函数对象概念 概念 重载函数调用操作符的类其对象常称为函数对象函数对象使用重载的时行为类似函数调用也称为仿函数 本质 函数对象仿函数是一个类不是一个函数 1.2 函数对象使用 特点 函数对象在使用是可以像普通函数那样调用可以有返回值函数对象超出普通函数的概念函数对象可以有自己的状态函数对象可以作为参数传递 示例 #includeiostream using namespace std;//函数对象仿函数 /* 函数对象在使用是可以像普通函数那样调用可以有返回值 函数对象超出普通函数的概念函数对象可以有自己的状态 函数对象可以作为参数传递 *///1,函数对象在使用是可以像普通函数那样调用可以有返回值 class MyAdd { public:int operator()(int v1, int v2){return v1 v2;} };//2,函数对象超出普通函数的概念函数对象可以有自己的状态 class Myprint { public:Myprint(){this-count 0;}void operator()(string test){cout test endl;this-count;}int count; };void test01() {MyAdd myAdd;cout myAdd(10, 10) endl; }void test02() {Myprint myprint;myprint(hello world);myprint(hello world);myprint(hello world);myprint(hello world);cout myPrint调用次数为 myprint.count endl; }void doPrint(Myprint mp,string test) {mp(test); } void test03() {Myprint myprint;doPrint(myprint, C); }int main() {cout test01: endl;test01();cout endl;cout test02: endl;test02();cout endl;cout test03: endl;test03();cout endl;system(pause);return 0; } 总结 仿函数写法非常灵活可以作为参数进行传递  2谓词 2.1谓词概念 概念 返回bool类型的仿函数称为谓词返回 operator()接受一个参数那么叫做一元谓词返回 operator()接受两个参数那么叫做二元谓词 2.2 一元谓词 返回 operator()接受一个参数那么叫做一元谓词 #includeiostream using namespace std; #includevector//仿函数 返回值类型数bool数据类型 称为谓词 //一元谓词class GreaterFive { public:bool operator()(int val){return val 5;} };void test01() {vectorintv;for (int i 0; i 10; i){v.push_back(i);}//查找容器中 有没有大于五的数字//GreaterFive()匿名函数对象vectorint::iterator it find_if(v.begin(), v.end(), GreaterFive());if (it v.end()){cout 未找到 endl;}else{cout 找到了大于5的数字为 *it endl;} }int main() {test01();system(pause);return 0; } 2.3 二元谓词 返回 operator()接受两个参数那么叫做二元谓词 示例 #includeiostream using namespace std; #includevector #includealgorithm//仿函数 返回值类型数bool数据类型 称为谓词 //二元谓词class MyCompare { public:bool operator()(int val1,int val2){return val1 val2;} };void test01() {vectorintv;v.push_back(10);v.push_back(40);v.push_back(20);v.push_back(30);v.push_back(50);//默认排序规则为从小到大sort(v.begin(), v.end());for (vectorint::iterator it v.begin(); it ! v.end(); it){cout *it ;}cout endl;//使用函数对象改变算法策略变为排序规则为从大到小sort(v.begin(), v.end(), MyCompare());cout ------------------------------------- endl;for (vectorint::iterator it v.begin(); it ! v.end(); it){cout *it ;}cout endl; }int main() {test01();system(pause);return 0; }总结参数只有两个的谓词称为二元谓词  3内建函数对象 3.1 内建函数对象的意义 概念 STL内建了一些函数对象 分类 算术仿函数关系仿函数逻辑仿函数 用法 这些仿函数所产生的对象用法和一般函数完全相同使用内建函数对象需要引入头文件 #includefunctional 3.1.1 算术仿函数 功能描述 实现四则运算其中negate是一元运算其他都是二元运算 仿函数原型 templateclass T T plusT    //加法仿函数templateclass T T minusT    //减法仿函数templateclass T T miltipliesT    //乘法仿函数templateclass T T dividesT    //除法仿函数templateclass T T modulusT    //取模仿函数templateclass T T negateT    //取反仿函数 示例: #includeiostream using namespace std; #includevector #includealgorithm #includefunctional//内建函数对象 算术仿函数//negete 一元仿函数 取反仿函数 void test01() {negateintn;cout 取反仿函数 endl;cout n(50) endl; }//加法仿函数 void test02() {plusintp;cout 加法仿函数 endl;cout p(10, 20) endl; }//减法仿函数 void test03() {minusintm;cout 减法仿函数 endl;cout m(20, 10) endl; }//乘法仿函数 void test04() {multipliesintmul;cout 乘法仿函数 endl;cout mul(10, 20) endl; }//除法仿函数 void test05() {dividesintdiv;cout 除法仿函数 endl;cout div(20, 10) endl; }//取模仿函数 void test06() {modulusintmod;cout 取模法仿函数 endl;cout mod(20, 10) endl; }int main() {test01();test02();test03();test04();test05();test06();system(pause);return 0; }3.1.2 关系仿函数 功能描述 实现关系对比 仿函数原型 templateclass T bool equal_toT            //等于仿函数templateclass T bool not_equal_toT    //不等于仿函数templateclass T bool greaterT              //大于仿函数templateclass T bool greater_equalT   //大于等于仿函数templateclass T bool lessT                   //小于仿函数templateclass T bool less_equalT        //小于等于仿函数 示例  #includeiostream using namespace std; #includealgorithm #includevector #includefunctional//内建函数对象 关系仿函数 //大于 greater class MyCompare { public:bool operator()(int v1, int v2){return v1 v2;} };void test01() {vectorintv;v.push_back(10);v.push_back(20);v.push_back(30);v.push_back(40);v.push_back(50);for (vectorint::iterator it v.begin(); it ! v.end(); it){cout *it ;}cout endl;//降序cout ---------------降序-------------------- endl;//sort(v.begin(), v.end(), MyCompare());sort(v.begin(), v.end(), greaterint());for (vectorint::iterator it v.begin(); it ! v.end(); it){cout *it ;}cout endl; }class MyCompare1 { public:bool operator()(int v1, int v2){return v1 v2;} };int main() {test01();system(pause);return 0; }3.1.3 逻辑仿函数 函数原型 templateclass T bool logical_andT            //等于仿函数templateclass T bool logical_orT              //不等于仿函数templateclass T bool logical_notT              //大于仿函数 示例 #includeiostream using namespace std; #includealgorithm #includevector #includefunctional//逻辑非 logical_not void test01() {vectorbool v;v.push_back(true);v.push_back(false);v.push_back(true);v.push_back(false);for (vectorbool::iterator it v.begin(); it ! v.end(); it){cout *it ;}cout endl;//利用逻辑非 将容器v搬运到 容器v2中并且执行反操作vectorboolv2;v2.resize(v.size());transform(v.begin(), v.end(), v2.begin(), logical_notbool());for (vectorbool::iterator it v2.begin(); it ! v2.end(); it){cout *it ;}cout endl; }int main() {test01();system(pause);return 0; } 逻辑仿函数实际应用较少了解即可
http://www.w-s-a.com/news/443609/

相关文章:

  • 西安网络技术有限公司网站扬中网站建设方案
  • 青海省教育厅门户网站wordpress core
  • idc科技公司网站模板蜜雪冰城网络营销案例分析
  • 微信与网站对接手机软件怎么做
  • 户县网站建设珠海专业制作网站
  • 麦当劳的网站优化建议猎头公司工作怎么样
  • 合肥地区网站制作网页浏览器打不开
  • 做网站的不给ftp网站如何做触屏滑动
  • wordpress statraq重庆百度优化
  • 企业网站官网英文WordPress站点切换为中文
  • 服装公司网站定位一点号自媒体平台
  • 密云微网站建设汽车之家手机官网首页
  • 多语言外贸网站制作苏州建设网站微信公众号
  • 用wordpress建站学什么百度给企业做网站吗
  • 福建城乡建设网站做数码测评的网站
  • 东海县建设局网站wordpress 好用的主题
  • 网站图片设计制作制作一个门户网站需要多少钱
  • 虚拟币交易网站源码自己给网站做支付接口
  • 免费的seo网站在线 crm
  • 绍兴市高速公路建设指挥部网站网站主页和子页风格如何统一
  • 获取网站状态网站租金可以做办公费吗
  • 网站开发执行什么标准号wordpress主题 表白
  • 杭州网站推广与优化凡科网是免费的吗
  • 公司网站的重要性门户网站推广介绍方案
  • 做金融网站看那些素材江门网红打卡景点蓬江区
  • 饮食网站模板建网站中企动力优
  • 郑州 制造 网站东平企业建站公司
  • 天津设计师网站大全展示型网站搭建
  • 南宁网站建设 传导网站开发平台开发公司
  • 网站建设好处上海建设工程网站