C#的鋸齒數(shù)組以及C++實(shí)現(xiàn)代碼
原則:
1、鋸齒數(shù)組首先是二維數(shù)組,第一維的維數(shù)是確定的
2、之所以在C#中能夠出現(xiàn)靈活的鋸齒數(shù)組,是因?yàn)椋珻#的數(shù)組是引用類(lèi)型(本質(zhì)上存放的是指針)
根據(jù)這個(gè)引用類(lèi)型(指針)的概念,C++中用指針數(shù)組同樣可以實(shí)現(xiàn)
C#中:
class A{}
int szA[][] = new int[3][];
szA[0] = new int[2];
szA[1] = new int[6];
szA[2] = new int[3];
當(dāng)然此時(shí)實(shí)際的各個(gè)數(shù)組元素(整形變量)尚未初始化值,C#不允許使用未經(jīng)初始化的變量
C++中,可以定義int *指針變量的數(shù)組,成員是三個(gè)int *指針變量,然后每個(gè)指針變量在堆內(nèi)存上分配2,6,3個(gè)int變量的內(nèi)存,
這樣就ok了!
實(shí)際上,就是利用了指針的概念,只是C#的語(yǔ)法形式上看起來(lái)簡(jiǎn)單些,但是也失去了直接操作內(nèi)存底層值的靈活性,托管,非托管,.net平臺(tái)有利有弊的。
相關(guān)文章
C#后臺(tái)調(diào)用WebApi接口的實(shí)現(xiàn)方法
本文主要介紹了C#后臺(tái)調(diào)用WebApi接口的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06詳解MongoDB for C#基礎(chǔ)入門(mén)
本篇文章主要介紹了MongoDB for C#基礎(chǔ)入門(mén),具體介紹了c#中關(guān)于對(duì)MongoDB的連接,插入,查詢(xún)等,有需要的可以了解一下。2016-12-12Unity實(shí)現(xiàn)卡拉OK歌詞過(guò)渡效果
這篇文章主要為大家詳細(xì)介紹了Unity實(shí)現(xiàn)卡拉OK歌詞過(guò)渡效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-06-06C#中多態(tài)現(xiàn)象和多態(tài)的實(shí)現(xiàn)方法
這篇文章主要介紹了C#中多態(tài)現(xiàn)象和多態(tài)的實(shí)現(xiàn)方法,較為詳細(xì)的分析了多態(tài)的原理與C#實(shí)現(xiàn)多態(tài)的方法,以及相關(guān)的注意事項(xiàng),需要的朋友可以參考下2015-05-05