c++98 - 最佳实践:在循环或普通数组访问中使用对对象的引用?
问题描述
我去一个对象数组让我们说100:数据data_array [100]。在 c++98 中循环访问这些对象的最佳实践是什么。
1.
for(int i=0;i<100;++i)
{
Data& data_obj = data_array[i];
// do a lot of with it, call functions and so on
}
2.
for(int i=0;i<100;++i)
{
// do a lot of with it, call functions and so on but always use data_array[i]
}
使用方法 1 超过 2 时是否会降低性能?或者编译器优化会消除任何差异吗?编写代码的首选方式是什么?
PS:我手头没有个人电脑来测试性能。
解决方案
如果您有反汇编器,您可以阅读汇编代码并检查两种方式之间的差异很小。事实上 data_array[i] 总是被转换成一个临时变量.. 但是第一种方式,我认为代码更具可读性
推荐阅读
- ios - SciCharts - ISCIAxisCore 可见的最小和最大索引
- python - JSON TypeError:字符串索引必须是整数
- python - 如何根据 Django 中的 UserGroup 显示不同的内容?
- python - 正则表达式匹配一个包含任何两位整数的特定字符串?
- eslint - eslint 不遵循 vue/* 的规则
- postgresql - 将数据更新到数组列 Postgres
- python - 在Python中启动各种动态进程
- java - 如何在二叉树中找到一个值
- r - optim 给出来自 par 输入的错误,其中 fn = dlogis
- javascript - 如何使用 Ajax 使用函数的时间问题来淡入/淡出