您好,登錄后才能下訂單哦!
C++中如何使用二維數組,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
C++二維數組new應用方式一:
A (*ga)[n] = new A[m][n]; ... delete []ga;
缺點:n必須是已知
優點:調用直觀,連續儲存,程序簡潔(經過測試,析構函數能正確調用)
C++二維數組new應用方式二:
A** ga = new A*[m]; for(int i = 0; i < m; i++) ga[i] = new A[n]; ... for(int i = 0; i < m; i++) delete []ga[i]; delete []ga;
缺點:非連續儲存,程序煩瑣,ga為A**類型
優點:調用直觀,n可以不是已知
C++二維數組new應用方式三:
A* ga = new A[m*n]; ... delete []ga;
缺點:調用不夠直觀
優點:連續儲存,n可以不是已知
C++二維數組new應用方式四:
vector > ga; ga.resize(m); //這三行可用可不用 for(int i = 1; i < n; i++) // ga[i].resize(n); // ...
缺點:非連續儲存,調試不夠方便,編譯速度下降,程序膨脹(實際速度差別不大)
優點:調用直觀,自動析構與釋放內存,可以調用stl相關函數,動態增長
C++二維數組new應用方式五:
vector ga; ga.resize(m*n);
方法3,4的結合
C++二維數組new應用方式六:
2的改進版
A** ga = new A*[m]; ga[0] = new A[m*n]; for(int i = 1; i < m; i++) ga[i] = ga[i-1]+n;
關于C++中如何使用二維數組問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。