新聞中心
C++編程語言中有一種叫做new的二維數(shù)組,它的應用方式比較靈活,可以有多種方法來幫助我們實現(xiàn)一些特定功能。在這里我們將會總結(jié)幾種C++二維數(shù)組new的應用方式,來進行逐一的點評。

創(chuàng)新互聯(lián)專業(yè)IDC數(shù)據(jù)服務(wù)器托管提供商,專業(yè)提供成都服務(wù)器托管,服務(wù)器租用,德陽機房服務(wù)器托管,德陽機房服務(wù)器托管,成都多線服務(wù)器托管等服務(wù)器托管服務(wù)。
C++二維數(shù)組new應用方式一:
- A (*ga)[n] = new A[m][n];
- ...
- delete []ga;
缺點:n必須是已知
優(yōu)點:調(diào)用直觀,連續(xù)儲存,程序簡潔(經(jīng)過測試,析構(gòu)函數(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)用直觀,自動析構(gòu)與釋放內(nèi)存,可以調(diào)用stl相關(guān)函數(shù),動態(tài)增長
C++二維數(shù)組new應用方式五:
- vector ga;
- ga.resize(m*n);
方法3,4的結(jié)合
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;
優(yōu)點:連續(xù)存儲,n可以不是已知,析構(gòu)方便,猜想只需delete [] ga;
文章題目:C++二維數(shù)組new幾種應用方法點評
本文URL:http://www.dlmjj.cn/article/djcisgh.html


咨詢
建站咨詢
