一种好处/理由是局部变量不会污染您的代码。让我给出一个普通的循环示例(出于类比,这不是一个确切的例子,因此没有迭代器使用):
int i;
for(i=0;i<10;i++)
do...something
int j;
for(j=0; i<10; j++)
do...something
现在,在上面的代码中,如果仔细观察,您将发现一个潜在的错误。i
已被错误地用于循环遍历的循环中j
。
因此,增强型循环尝试通过在本地创建变量来确保安全,从而可以避免上述问题。
为什么增强的for循环的局部变量必须是局部的?
一种好处/理由是局部变量不会污染您的代码。让我给出一个普通的循环示例(出于类比,这不是一个确切的例子,因此没有迭代器使用):
int i;
for(i=0;i<10;i++)
do...something
int j;
for(j=0; i<10; j++)
do...something
现在,在上面的代码中,如果仔细观察,您将发现一个潜在的错误。i
已被错误地用于循环遍历的循环中j
。
因此,增强型循环尝试通过在本地创建变量来确保安全,从而可以避免上述问题。