C ++: Por que o array int [size] funciona?
Eu comecei a aprender c ++. Eu li que o tamanho de uma matriz só pode ser definido antes de executar e arrays dymanic podem ser definidos durante o tempo de execução. Então eu estava esperando que isso falhasse, mas não aconteceu:
#include <iostream>
int main() {
using namespace std;
int size;
cout << "enter array size:";
cin >> size;
int i, score[size], max; //array size set to variable doesn't fail
cout << endl << "enter scores:\n";
cin >> score[0];
max = score[0];
for (i = 1; i < size; i++)
{
cin >> score[i];
if (score[i] > max)
max = score[i];
}
cout << "the highest score is " << max << endl;
return 0;
}
Este é um novo recurso em compiladores recentes de C ++? É perceber que preciso de um array dinâmico e criar isso em vez disso?