这学期学C++ ,晚上有道编程题, 比较坑, 感觉要用动态数组做, 但实际就是要用静态数组, 因为动态的反而更难了。
用动态数组的时候,发现自己只会创建一维的 int *a = new int[5] ; 然后二维数组怎么创都忘记了, 还是那句话 ,不写代码很容易
忘记。 然后下面就给出几个例子吧
- <span style="white-space:pre"> </span>int **p = new int*[i];
- <span style="white-space:pre"> </span>for (int k = 0; k < i ; k++)
- {
- p[k] = new int[j];
- }
当然创建方式不止是这么一种 。 另外有一点要强调, 有几个new 就要调用几个delete , 不然会造成内存泄露, 然后多为数组还要delete[].............
还有一点想说的是编程过程的一些问题吧
- 首先是数组的指针表达式 *(*(p+i)+j) 今天居然有同学问我这个怎么写,我也是无语了,感觉这个事必须掌握的啊
- int **qw = new int[12][23]; 这个提示错误
C++ 中动态数组还是很有用的, 特别是在类当中, 深拷贝这类的 ,还是很值得学习的。