考虑下面的代码片段同一个名字:变量在C for循环使用时++
unsigned int i;
double* u = new double [10];
for (i=0; i<10; i++)
{
double u = 5.0;
// Other code
}
delete[] u;
是不是好使用的变量名u两次?或者这是不是皱起了眉头?代码无法使用某些编译器进行编译?
编辑:这是更好吗?或者,它仍然令代码的未来维护者感到困惑?
unsigned int i;
double* u = new double [10];
// Do stuff with u
delete[] u;
for (i=0; i<10; i++)
{
double u = 5.0;
// Other code
}
当然你需要在循环内部使用外部'u'?否则,有什么意义? –
内部变量** u **将外部变量** u **隐藏在它们的作用域和内部作用域中,具体情况取决于情况是否可能以某种方式引用外部变量。 – NetVipeC
如果我记得正确,它会起作用,但这是一种不好的做法,你几乎不需要这样做。 –