「カウント=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++)
for()ステートメントの範囲を超えて'blah'が存在することが望まれる場合があります(ただし、この例ではそうではありません)。そのため、後でそれを使用して何かを行うことができます。
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()ステートメントの外に変数を配置するもう1つの理由は、変数が実際に非常に大きい場合であり、ステートメントの外にあるとコードが読みやすくなります。
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は、他の多くの利点とは別に、配列をラップして、通常の変数のように扱うことができるようにします(ベクトルは1つであるため)。