运行阶段分配数组大小
C++里栈的数组在编译阶段需要已知大小,所以不能动态分配:
char arry[100]; (V)
char arry[N]; #define N 100 (V)
char arry[n]; int n = 100; (X)
char arry[n]; const int n = 100; (V)
char arry[n]; const int n = returnLength(); (X)
判断标准:编译时可知大小。
堆里的数组可以运行阶段分配;
使用STL的数据结构可以运行阶段分配。