小编qtt*_*wow的帖子

C++在for循环中使用预先计算的限制器

在PHP这样的脚本语言中有这样的for循环会是一个非常糟糕的主意:

string s("ABCDEFG");
int i;
for( i = 0; i < s.length(); i ++ )
{
   cout << s[ i ];
}
Run Code Online (Sandbox Code Playgroud)

这是一个例子,我不是在构建这样的程序.(对于那些觉得他们必须告诉我为什么这段代码< 在这里插入不好的东西 >>的人

如果将此C++示例转换为类似的PHP脚本,则会在每个循环周期计算字符串的长度.这将导致现实脚本中的巨大性能损失.

我认为这同样适用于C++程序,但是当我看一下教程,几个开源库和其他代码时,我发现循环的限制器没有预先计算.

  • 我应该预先计算字符串的长度s吗?
  • 为什么限制器不会总是预先算出?(在教程和示例中看到了这一点)
  • 编译器是否进行了某种优化?

c++

6
推荐指数
1
解决办法
758
查看次数

标签 统计

c++ ×1