Advertisement

C++深入学习(二十八)性能优化升级

阅读量:

1、减少临时变量

2、减少 Implicit conversion (隐式转换)

3、减少频繁的内存申请、释放

转载自:http://www.708luo.com/?p=33

临时变量

常见的情况包括以下几个方面:可能导致临时变量出现的情形有四个主要类别。这些情况分别是:一是函数的实际参数设置;二是函数返回的具体值;三是隐式的类型转换操作;四是不必要的数据拷贝行为。

1. 函数实参

这点对于理解问题来说应该是不难的。首先讨论的是函数参数,在这种情况下如果采用实参传递方式的话,则会发现函数体内的任何修改都不会影响调用时传入参数的实际值。由此可知,在这种情况下函数体内部所进行的操作必定是在特定阶段进行的操作

那么这种情况我们该怎么办呢?

如果callee中明确需要修改该对象,并且caller不希望该修改干扰原有的值,则引入一个临时变量成为必要措施。

如果选择在callee中不修改该对象或者该参数已经是const类型,则将实参传递方式改为引用传递是一个合理的选择(特别是对于基本类型的函数实参时),这样不仅能够节省内存空间,并且不会引入额外的开销。

此外,在选择静态调试器时,请考虑使用一种静态代码检查工具[cppcheck](http://sourceforge.net/apps/mediawiki/cppcheck/index.php?title=

全部评论 (0)

还没有任何评论哟~