运行阶段分配数组大小

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的数据结构可以运行阶段分配。

posted on 2011-02-15 16:44  cvbnm  阅读(302)  评论(0编辑  收藏  举报

导航