提高传参效率的简单方法

原创 2001年10月17日 11:32:00

读《Thinking in C++》有感:

当以传值方式(pass-by-value)传递参数时,如果函数内并不对传入的参数加以修改,以常量引用(const
reference) 的方式可提高效率。
 class Cclass {
  ... ...
 };

 void func1(Cclass a);  // 直接传值

 void func2(const Cclass& b); // const reference

在调用func1时,压入堆栈的是一个Cclass对象,此时会引起拷贝构造函数(copy-construct)的调用,从而在
函数内部产生一个临时对象。当函数返回时,要释放该对象又会引起析构函数的调用。

而对于函数func2,调用时压入堆栈的仅仅是一个地址,从而节省了func1中的开销。

但使用引用传参有一个缺点,就是该函数对编程人员隐藏了它所传递的是一个地址这个事实。
比如,有一个函数如下定义:
 void foo(Cclass& a);

在使用时的调用如下:
 Cclass ca;
 foo(ca); // 此时可能会误认为传入的仅是值,如果该函数中改变了ca的值就会造成以想不到的错误
  // 调试也困难 

解决的办法是,统一函数定义习惯:
 对函数内要修改的参数以指针方式;不修改的参数以const reference方式。

基于变更的测试 - 提高测试效率和软件质量的最佳方法

剑桥大学最近所做的研究发现,全球每年花费在解决软件问题上的成本已增加到3120亿美元。这个数字表明软件行业存在严峻的质量问题,各公司都花了很多钱来解决这个问题,但是基本都是治标不治本。而软件存在bug...
  • Trinity_Techologies
  • Trinity_Techologies
  • 2016年08月04日 13:41
  • 634

提高企业决策效率的秘诀

作者:中科院金融科技研究中心首席科学家 刘世平 【IT168 专稿】现代社会中,银行、零售店、保险企业及金融服务机构等大型组织已经产生和收集了大量日常操作数据。企业欲在竞争激烈的市场中立足,隐含在数据...
  • puppyli
  • puppyli
  • 2007年01月10日 13:17
  • 629

提高SQL执行效率的方法有哪些?

2、JAVA中的存储过程?     3、解释select * from dual的执行计划?     4、提高SQL执行效率的方法有哪些?...
  • zhan3107006604
  • zhan3107006604
  • 2014年05月31日 19:14
  • 1947

常见的提高高并发下访问的效率的手段

首先要了解高并发的的瓶颈在哪里?      1、可能是服务器网络带宽不够      2.可能web线程连接数不够      3.可能数据库连接查询上不去。      根据不同的...
  • YJ_VS_GY
  • YJ_VS_GY
  • 2017年02月14日 18:22
  • 366

提高算法的运行速度

根本:从算法原理入手,看能不能把复杂运算简单化。 具体做法:推公式,简化;更彻底的,换一种算法体系 代码层:从实现的角度,代码的运行效率必将制约算法的实际效果。 具体做法: 1、OPENMP 2、...
  • Kelvin_Yan
  • Kelvin_Yan
  • 2015年09月23日 10:34
  • 1239

STL vector提高效率注意事项与技巧

Vector是STL中最常用的容器,比起用户自定义的数组,具有内存分配对用户透明,可动态增长等特点。vector什么操作导致效率低? 毫无疑问,那就是当vector 预留空间不足时 常用操作...
  • hyqsong
  • hyqsong
  • 2016年01月14日 07:57
  • 1537

四个管理举措提高研发团队工作效率

本来没有想写这么详细的,看了一部的提高生产率的几条建议,感觉,那是要带进沟里的感觉,奋笔疾书!   软件研发的主体是人,产出是软件,生产效率方面的措施均应该涉及到这两个核心:软件,人。 增加面向...
  • lihongzhai
  • lihongzhai
  • 2016年09月04日 09:38
  • 1713

提高正则表达式效率的方法

让匹配更快失败,尤其是匹配很长的字符串时,匹配失败的位置要比成功的位置多得多。以简单、必须的字元开始,排除明显不匹配的位置,如锚点(^或$),特殊字符(x或\u263A)字符类([a-z]或\d之类的...
  • yimzncy
  • yimzncy
  • 2014年07月09日 15:56
  • 1215

提高SQL查询效率的方法

注:转自nanshe 存储过程的核心还是sql文,为了执行一定的任务而组合在一起的SQL、PL/SQL语句集,不是为了加快查询速度,视图是建立的一个虚表可以加快查询速度,设计数据库满足第三范式。要想...
  • ruihua1021
  • ruihua1021
  • 2014年11月14日 10:58
  • 749

ListView 如何提高其效率

1、ListView 如何提高其效率? **当 convertView 为空时,用 setTag()方法为每个 View 绑定一个存放控件的 ViewHolder 对象 convertView不为...
  • wufagang
  • wufagang
  • 2016年09月27日 10:30
  • 637
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:提高传参效率的简单方法
举报原因:
原因补充:

(最多只允许输入30个字)