使用.size()和const变量进行循环

基伦·皮尔森(Kieren Pearson)

我有一个vector

vector<Body*> Bodies;

它包含指向Body我已定义的对象的指针

我也有一个unsigned int const,其中包含body我希望包含的对象数量bodies

unsigned int const NumParticles = 1000;

我已经塞满BodiesNumParticles很多Body物体。

现在,如果我想遍历一个循环,例如调用中的每个BodyUpdate()函数Bodies,那么我可以做两种选择:

第一的:

for (unsigned int i = 0; i < NumParticles; i++)
{
    Bodies.at(i)->Update();
}

或第二:

for (unsigned int i = 0; i < Bodies.size(); i++)
{
    Bodies.at(i)->Update();
}

每个都有优点和缺点。我想知道在安全性,可读性和惯例方面,哪一种(如果有的话)是更好的做法。

Shauryachats

我建议您使用.size()函数而不是定义新的常量。

为什么?

  1. 安全:由于.size()不会引发任何异常,因此使用绝对安全.size()

  2. 可读性:恕我直言,Bodies.size()传达向量的大小Bodies比清楚NumParticles

  3. 约定:同样,按照约定,最好使用.size()因为它是向量的属性,而不是变量NumParticles

  4. 性能:.size()是一个复杂度恒定的成员函数,因此使用const int之间没有显着的性能差异.size()

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用变量进行Django循环

来自分类Dev

使用循环变量进行计算

来自分类Dev

使用while循环和变量

来自分类Dev

使用const引用对变量进行别名化

来自分类Dev

使用变量和IN进行过滤

来自分类Dev

在JavaScript中使用PHP变量进行循环

来自分类Dev

在javascript中使用变量进行循环几次

来自分类Dev

使用变量作为循环间隔进行迭代

来自分类Dev

使用RVest进行刮擦和循环的简单解决方案,将for循环的结果存储在变量中

来自分类Dev

我该如何使用变量内的变量进行for循环工作

来自分类Dev

使用循环和条件进行矩阵计算

来自分类Dev

使用JavaScript进行数组和循环

来自分类Dev

使用XlsxWriter和Python Excel进行循环

来自分类Dev

使用if和else任务进行循环

来自分类Dev

使用const变量进行数组初始化

来自分类Dev

如何在Postgresql函数中使用变量进行循环查询

来自分类Dev

如何编写函数来循环使用ggplot进行变量绘制

来自分类Dev

使用do循环进行Visual Basic变量验证

来自分类Dev

在grunt.task.run上使用变量进行Grunt for循环

来自分类Dev

在bash命令行中使用递增变量进行循环?

来自分类Dev

使用循环变量进行同名函数调用 - Javascript

来自分类Dev

使用R和foreach在R中使用多核进行循环

来自分类Dev

使用特定的因变量和自变量自动进行回归

来自分类Dev

如何在每次循环时更改变量的函数进行循环,直到使用所有变量?

来自分类Dev

使用CAS和Spring Security进行重定向循环

来自分类Dev

使用循环进行输入验证和异常处理

来自分类Dev

使用For循环对Pandas DataFrame进行排序和重新排列

来自分类Dev

如何使用ListView.builder和for flutter进行循环

来自分类Dev

使用R循环进行文件下载和重命名

Related 相关文章

热门标签

归档