首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我应该在游戏中使用引用还是按值传递常用的数组[C++]

我应该在游戏中使用引用还是按值传递常用的数组[C++]
EN

Stack Overflow用户
提问于 2010-11-17 01:03:03
回答 4查看 112关注 0票数 0

这真的很简单,我想我只是想得到一些反馈。

长话短说,我是一个超级新手编程,我最近(大约6个月前)开始做一些游戏编程,它进行得很好。我可以让一切正常工作,所以这不是我的问题。相反,这与传递对象有关。

我在游戏循环中多次传递相同的对象或变量。因此,对于相机,相机是用来绘制所有对象的。因此,首先将摄影机传递给容器对象(就像绘制动画的帧一样,动画对象包含帧),然后将其传递给单个对象,然后由单个对象进行绘制。现在,这只通过了相机可能最多3次,所以这是不担心,还没有。

更令人关注的是类似的多次传递,但具有组成地图的瓦片阵列。首先将数组传递给玩家或敌人的“更新”函数,然后将其传递给单独的移动和输入函数以检查冲突,并在这些函数中将其传递给碰撞检测函数。所以不管怎样,对象(在本例中,大约有100~1000个瓦片的数组)在每个游戏循环中会被传递4-5次。所以我想知道我是否应该使用一个常量引用,而不是一遍又一遍地传递它。

这是一个很小的开销问题,我想我知道答案,但我不想为了发现我让应用程序变得更慢而更改所有这些函数(并不是因为它现在以800fps的速度运行)。

EN

回答 4

Stack Overflow用户

发布于 2010-11-17 01:09:31

如果你可以修改你的编程风格,使你的代码执行得更好,而不会在维护和可读性方面花费任何代价,你绝对应该这样做。

除此之外,优化应该限制在您知道自己需要的情况下,因为您已经实际测量了自己的性能,并发现它缺乏。

票数 2
EN

Stack Overflow用户

发布于 2010-11-17 01:05:17

1)如果您的应用程序是already fast enough,则不要执行任何操作

2)通过引用传递(使用&*)的成本很低。就这么做吧。

票数 0
EN

Stack Overflow用户

发布于 2010-11-17 01:20:39

如果你使用的是基元数组,它们总是通过引用传递。

但除此之外,我推荐Alex Brownanswer --它既简单又便宜,所以除非你有理由不去做,否则就去做吧。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4196780

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档