Я только что прочитал все результаты поиска по той же теме, которую я сейчас спрашиваю, в stackoverflow, и это на самом деле не отвечает на мое любопытство. Но вот в чем дело.
Вопрос
1.) Из того, что я знаю, статическое связывание означает, что оно установлено во время компиляции, и оно существует во время выполнения, тогда как для динамического связывания означает, что оно установлено во время выполнения.
2.) Так чтоВ книге, которую я читаю, рассказывается о динамическом массиве. В нем упоминается, что размер динамического массива может быть установлен во время выполнения. Что делается таким образом.
Код
int size;
cin >> size;
int * pz = new int [size]; // dynamic binding, size set at run time
delete [] pz; // free memory when finished
3.) В этом коде книга может указывать динамический размер массива во время выполнения. Из любопытства я попробую это.
Код
int size;
cin >> size;
int array[size];
//After the array declaraction i assign value to it to check whether it works or not.
4.) Приведенный выше код тоже работает, поэтому мне просто интересно, что такого особенного в динамическом массиве, поскольку обычный статический массив мог выполнять ту же работу.
5.) Это из-за динамического массивамог освободить свою память во время выполнения, тогда как статическая не может, вот что делает его таким особенным ??
Спасибо, что потратили время на чтение моего вопроса, укажите на любую ошибку, сделанную мной.