如果您在谈论“count = 0”,那么:
更常用的语法是:for(int blah = 0; blah < max; blah++)
但是没有理由必须在 for() 语句本身内声明 'blah':
int blah;
for(blah = 0; blah < max; blah++)
……也可以接受。
或者:
int blah = 0;
for( ; blah < max; blah++)
有时(但不是在您的示例中)希望有 'blah' 存在于 for() 语句的范围之外,因此您可以稍后对其进行处理:
int fileNum = 0;
for( ; fileNum < maxFiles && file_exists(fileNum); fileNum++)
{
//...do something...
}
int lastFileWas = fileNum; //Either it's 'maxFile', or the first file that didn't exist.
将变量放在 for() 语句之外的另一个原因是,当变量真的很大时,如果它在语句之外,它会使代码更易于阅读:
std::vector< std::pair<std::string, int> >::iterator myIterator = myVector.begin();
for( ; myIterator != myVector.end(); myIterator++)
如果它在 for 语句本身内部,这将非常混乱(std::vector< std::pair >::iterator是一个很长的变量名,写出来会很混乱,塞进 for() 语句) . (尽管这对于 C++11 的“auto”关键字来说不是问题)。
如果你在谈论“list[count] = 0;”,那么:
对于数组,要分配一个值,您可以使用方括号(称为“下标运算符”)“索引”数组,并且可以访问保存在数组内存中的各个变量(称为“元素”):
int myArray[10]; //10 integers in a block of memory.
myArray[0] = 5; //Accessing the first element in the block of memory.
myArray[3] = 17; //Accessing the fourth element in the block of memory.
一般来说:
由于您使用的是 C++,因此通常(90% 的时间)最好使用 std::vector。数组相当奇怪,因为它们与指向内存块的指针非常相似,并且不能像常规变量一样对待。除了许多其他好处外,std::vector 还包装了数组,因此您可以将其视为常规变量(因为向量就是其中之一)。