码迷,mamicode.com
首页 > 其他好文 > 详细

游戏效率优化(2) 使用const关键字

时间:2014-05-15 20:00:40      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:cocos2d学习   优化   内存   

游戏效率优化(2)使用const关键字

DionysosLai  2014-5-15

         使用const有很多好处,比方保护被修饰的东西,防止意外修改,提高程序健壮性等作用。不过使用const 可以提高程序运行效率,却很少有人知道。

         下面看几个例子,在看cocos2d源码时,我们经常会看到如下类似的代码:

ccpAdd(const CCPoint& v1, const CCPoint& v2)
{
    return v1 + v2;
}
ccpSub(const CCPoint& v1, const CCPoint& v2)
{
    return v1 - v2;
}
看到这段代码,我们首先会觉得很奇怪,函数设计的本意是不要改变形参的值,通常我们会这样写道:

ccpAdd(const CCPoint v1, const CCPoint v2)
{
    return v1 + v2;
}

         这样,就可以不用改变函数中形参的值,那么cocos2dx的作者又为什么要将形参定义成引用类型呢?

         这个问题的原因在于:在调用函数时,如果传入的值不是指针、引用的话,那么会临时动态申请一块内存,保存传入的参数,接下来函数所有对这个参数的操作均会在这个内存中进行。如果我们传入的引用的话,那么就可以直接在参数内存中调用,而不需要临时动态申请空间,最后还要销毁这块空间问题。但,使用引用的话,又存在改变参数值的问题,因此我们会给引用加上“const”修饰符,防止被修饰的东西,发生意外修改。

         这个问题,在这之前自己也没发现,后来是同事告诉我这个现象。SOGA,一起努力,我也把这个方法告诉大家。


游戏效率优化(2) 使用const关键字,布布扣,bubuko.com

游戏效率优化(2) 使用const关键字

标签:cocos2d学习   优化   内存   

原文地址:http://blog.csdn.net/dionysos_lai/article/details/25897953

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!