Chinaunix首页 | 论坛 | 博客
  • 博客访问: 502375
  • 博文数量: 111
  • 博客积分: 3160
  • 博客等级: 中校
  • 技术积分: 1982
  • 用 户 组: 普通用户
  • 注册时间: 2010-04-24 11:49
个人简介

低调、勤奋。

文章分类

全部博文(111)

文章存档

2014年(2)

2013年(26)

2012年(38)

2011年(18)

2010年(27)

发布时间:2013-01-07 10:01:04

第一部分:宏为什么要使用宏呢?因为函数的调用必须要将程序执行的顺序转移到函数所存放在内存中的某个地址,将函数的程序内容执行完后,再返回到转去执行该函数前的地方。这种转移操作要求在转去执行前要保存现场并记忆执行的地址,转回后要恢复现场,并按原来保存地址继续执行。因此,函数调用要有一定的时间和空间方面的开销,于是将影响其效率。而宏只是在预处理的地方把代码展开,不需要额外的空间和时间方面的开销,所以调用一个宏比调用一个函数更有效率。但是宏也有很多的不尽人意的地方。1、宏不能访问对象的私有成员。2、宏的定义很容易产生二意性。我们举个例子:#define square(x) (x*x)我们用一个数字去调......【阅读全文】

阅读(1885) | 评论(0) | 转发(6)

发布时间:2013-01-06 21:32:39

基本概念:泛型算法本身从不执行容器操作,只是单独依赖迭代器和迭代器操作实现。算法也许会改变存储在容器中的元素的值,也许会在容器中移动元素,但是,算法从不直接添加或删除元素。头文件:#include <algorithm>#include <numeric>1、只读算法//把string类型的vector容器中的元素连接起来。string sum = accumulate(v.begin(), v.end(), string(""));//把int型的vector容器中元素累加int sum = accumulate(v.begin(), v.end(), 100); /......【阅读全文】

阅读(1232) | 评论(0) | 转发(0)
给主人留下些什么吧!~~

大鬼不动2010-11-09 08:11

回复  |  举报
留言热议
请登录后留言。

登录 注册