我刚刚阅读了关于我现在在 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.)是因为动态数组可以在运行时释放它的内存,而静态不能这就是它如此特别的原因吗?
感谢您花时间阅读我的问题,请指出我犯的任何错误。