Есть ли в C ++ массивы переменной длины?
Я всегда думал, что массивы переменной длины не разрешены в C ++ (см .:Почему массивы переменной длины не являются частью стандарта C ++?). Но почему этот код компилируется и работает?
#include <iostream>
using namespace std;
int main () {
int n;
cin >> n;
int a[n];
for (int i=0; i<n; i++) {
a[i] = i;
}
for (int i=0; i<n; i++) {
cout << a[i] << endl;
}
}