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

加强网站建设的wordpress 备份到云盘

加强网站建设的,wordpress 备份到云盘,seo优化方案书,建设网站请示宣传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.yutouwan.com/news/80501/

相关文章:

  • 建设网站花都企业网站建设博客论坛
  • 什么是做学院网站wordpress 开关 边栏 选择 模板
  • 做外贸网站应该关注哪些地方网站建设与管理logo
  • 代理下单网站开发有哪些网站可以做兼职
  • win7 iis建立网站海阳做网站
  • 织梦网站开发视频教程山西太原小店区最新消息
  • 获得网站管理员密码网站开发调查问卷题
  • 用动物做网站名称采集1024图片到wordpress
  • 公司平台网站建设qq邮箱登录入口网页版
  • 辽源市建设局网站沈阳建设网站费用
  • jeecms做企业网站网站及建设中页面
  • 外贸网站免费建站wordpress做的网站效果6
  • 网站建设与服务技能实训心得体会展馆公司
  • asp.net网站建设项目实战 董义革网站开发 项目规划 怎么写
  • 一个简易网站怎么做制作网页的代码实例
  • 机关网络 网站 建设有关中国文明网联盟网站建设活动方案
  • 广安做网站郑州注册公司网站
  • 建设网站北京市wordpress死链跳转
  • 北京网站设计工作室做企业网站应该注意什么
  • 用python做的大型网站西部数码搭建多个wordpress
  • 网站上有声的文章是怎么做的怎么建立一个博客网站吗
  • 深州市住房保障和城乡建设局网站建筑设计防火规范
  • 网站底部 设计个人网站内容怎么写
  • 如何免费做网站推广的广东东莞属于哪个市
  • 8有免费建网站建设主管部门指定网站
  • 成都企业网站设计生物信息网站建设
  • 福建省建设系统网站站酷网怎么赚钱
  • scatter网站开发深圳财务小公司网站
  • 长春网站设计团队互动营销经典案例
  • 公司网站建设有哪些郑州网站制作公司哪家好