這學期學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++ 中動態數組還是很有用的, 特別是在類當中, 深拷貝這類的 ,還是很值得學習的。