最初に次のように始めたとしましょう:
int *newArray = new int[1];
そして後で次のようなものがあります:
ifstream inputFile("File.txt");
Counter=0;
while (inputFile >> newValue)
{
newArray[Counter] = newValue;
Counter++
}
テキストファイルから100行をプルしようとすると、プログラムは最終的にクラッシュします。しかし、私が使用した場合
int *newArray = new int[100];
元々、クラッシュしません。
動的にメモリを割り当てる場合、なぜ1より大きい初期値が必要なのですか?それは私には意味がありません。1や10などの小さな数を超える初期長を定義する必要があると、動的メモリ割り当ての目的全体が無効になります。
編集:これは学校用です。まだベクターを使用することは許可されていません。