Есть ли в 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;
    }
}

Ответы на вопрос(2)

Ваш ответ на вопрос