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

合肥建站网站模板word上下页纸张方向

合肥建站网站模板,word上下页纸张方向,如何建立一个公众号,怎样修改wordpress密码boost::function的用法 本片文章主要介绍boost::function的用法。 boost::function 就是一个函数的包装器(function wrapper)#xff0c;用来定义函数对象。 1. 介绍 Boost.Function 库包含了一个类族的函数对象的包装。它的概念很像广义上的回调函数。其有着和函数指针相同的… boost::function的用法 本片文章主要介绍boost::function的用法。 boost::function 就是一个函数的包装器(function wrapper)用来定义函数对象。 1.  介绍     Boost.Function 库包含了一个类族的函数对象的包装。它的概念很像广义上的回调函数。其有着和函数指针相同的特性但是又包含了一个调用的接口。一个函数指针能够在能以地方被调用或者作为一个回调函数。boost.function能够代替函数指针并提供更大的灵活性。 2. 使用     Boost.Function 有两种形式首选形式和便携式形式 其语法如下 首选形式 便携式形式 boost::functionfloat(int x, int y)f boost::function2float, int, intf 但是便携式形式不是所有的编译器都支持的 所以这里我只介绍首选形式。 2.1 普通函数     我们可以看下如下的例子 1 void do_sum(int *values, int n) 2 2 { 3 3 int sum(0);4 4 for (int i 0; i n; i) 5 5 { 6 6 sum values[i]; 7 7 } 8 8 cout sum endl; 9 9 }; 10 10 int _tmain(int argc, _TCHAR* argv[]) 11 11 { 12 12 boost::functionvoid(int *values, int n) sum; 13 13 sum do_sum; 14 14 int a[] {1,2,3,4,5}; 15 15 sum(a, 5); 16 16 return 0; 17 17 }       sum 可以理解为一个广义的函数对象了其只用就是保存函数do_sum 然后再调用之。 2.2 成员函数     在很多系统中 对于类的成员函数的回调需要做特殊处理的。这个特殊的处理就是“参数绑定”。当然这个超出了我们讨论的范围了。 boost::function对于成员函数的使用可以看下如下代码 1 class X{ 2 2 public: 3 3 int foo(int a) 4 4 { 5 5 cout a endl; 6 6 return a; 7 7 } 8 8 };9 9 int _tmain(int argc, _TCHAR* argv[]) 10 10 { 11 11 boost::functionint(X*, int)f; 12 12 f X::foo; 13 13 X x; 14 14 f(x, 5); 15 15 return 0; 16 16 }         我们发现 对类的成员函数的对象化从语法是没有多大的区别。 3. 一个典型的例子     上面的几个例子没有体现出boost::function的作用来 这里在写一个例子。比如当程序执行到某一处的时候想绑定某一个函数 但是不想立即执行 我们就可以声明一个函数对象给此对象绑定相应的函数 做一些其他事情然后再来执行绑定的函数 代码如下 1 void print(int a) 2 2 { 3 3 cout a endl; 4 4 }5 5 typedef boost::functionvoid (int) SuccessPrint;6 6 int _tmain(int argc, _TCHAR* argv[]) 7 7 { 8 8 vectorSuccessPrint printList;9 9 SuccessPrint printOne boost::bind(print, _1); 10 10 printList.push_back(printOne); 11 11 SuccessPrint printTwo boost::bind(print, _1); 12 12 printList.push_back(printTwo); 13 13 SuccessPrint printThree boost::bind(print, _1); 14 14 printList.push_back(printTwo); 15 15 // do something else 16 16 for (int i 0; i printList.size(); i) 17 17 printList.at(i)(i); 18 18 return 0; 19 19 }        上述代码中首先把声明一个函数对象 typedef boost::functionvoid (int) SuccessPrint 然后把print绑定到斥对象中 放入vector中 到最后才来执行这print()函数。
http://www.zqtcl.cn/news/751217/

相关文章:

  • 大学跳蚤市场网站建设哈尔滨网站建设
  • 网站开发合同中的知识产权条款怎么给公司建网站
  • 网站代维护wordpress 主题中心
  • 中铁广州建设有限公司网站临安做企业网站的公司
  • 国内可访问的海外网站和应用重庆好玩还是成都好玩
  • 定制开发小程序天津做网站优化的公司
  • 公司网站首页怎么做在线二级域名子域名查询
  • 淮南网站优化公司国内什么网站用asp.net
  • 做数据网站带网站的图片素材
  • 大方县住房城乡建设局网站wordpress 连接flickr
  • 国家建设部网站倪虹邢台新闻最新事件
  • 杭州网站 建设广州金将令做网站怎么样
  • 苏州科建设交通学院网站地方网站类型
  • 怎样做投资理财网站城乡建设部网站第35号令
  • 南昌集团网站建设wordpress去掉rss订阅
  • 郑州做网站的外包公司有哪些宁波 电商平台网站建设
  • 网站平台开发多少钱wordpress文章展示
  • 汕尾市企业网站seo点击软件建设一个网站的步骤有哪些
  • 备案上个人网站和企业网站的区别实名认证域名可以做电影网站吗
  • 顾氏网站建设有限公司怎么样memcache安装wordpress
  • 邯郸网站建设渠道免费做全网解析电影网站赚钱
  • 中铁中基建设集团网站东莞网络优化哪家公司好
  • wordpress免费建站合肥关键词网站排名
  • 中铁建设集团门户网登录网站自己可以建设环保公益网站吗
  • 国内电子商务网站有哪些网站升级中html
  • 影响网站加载速度顺德做网站那家好
  • 如何备份网站的百度怎样建立网站
  • 如何建立网站视频教程湖北seo关键词排名优化软件
  • 南宁网站建设推荐q479185700顶上新公司网站建设流程
  • 石家庄城乡建设局网站四川网络营销