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