• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            一、動態數組實現通常有兩種方式:

            1、用一個單獨的堆單元作為連續的緩沖區來保存數組元素,通常針對量小和數組大小變化較小的情況

            2、采用多段緩沖區,然后通過雙向鏈表來管理,通常是針對量大并數組大小變化頻繁的情況使用。

            注意:因為動態數組的容量是動態變化的,當插入一條新的數組元素時,數組需要再分配堆內存,而再分配的堆內存的數目是由粒度來決定的。選取合適的粒度最重要,取得太小時,需要頻繁進行分配,取得太多時又會造成存儲空間的浪費。

            二、Symbian OS 中的CArrayX

            1、Fix,意味著數組中的元素具有相同的長度,而且是被復制的,所以它們可以保存在數據緩沖區內。

            2、Var,代表數組中元素具有不同長度,每個元素都被保存在自己的堆單元中,數組緩沖區內包含的是指向這些元素的指針。

            3、Pak,表明這是一個壓縮數據,其中元素都具有不同長度。保存在數組緩沖區內,每個元素前部都有它的長度信息。

            4、Ptr,代表CBase派生類對象指針的數組。

            注:如果級組類名以”Flat“結尾,使用的是平坦緩沖區,以”Seg“結尾,使用段緩沖區。

            內存布局:

            image

            三、RArray<class T>和RPointerArray<class T>

            屬于R類,需要調用Close()或者Reset()函數清除。當數組使用完成后,必須考慮這些對象的所有權。如果對象還在其他地方被持有,那么調用Close()或者Reset()清除即可,否則需要調用ResetAndDestory()或者針對所有對象調用Delete進行釋放資源。

            基于性能方面考慮,通常用RArray代替前面的類,因為RArray是基于R類的,具有更好的性能。并且RArray利用TLinearOrder<class T>提供更好的排序和查詢等算法,同時提供了擴充的功能。

            Posted on 2009-06-17 17:19 曾浩 閱讀(1768) 評論(0)  編輯 收藏 引用 所屬分類: Symbian
            国内精品久久久久影院优| 亚洲国产精品久久久久久| 国产免费久久精品99re丫y| 亚洲色婷婷综合久久| 狠狠色噜噜狠狠狠狠狠色综合久久| 国产亚洲美女精品久久久久狼| 香蕉aa三级久久毛片| 77777亚洲午夜久久多喷| 热RE99久久精品国产66热| 久久久久久午夜成人影院| 久久黄色视频| 狠狠色丁香婷综合久久| 久久久久亚洲AV无码观看| 精品人妻伦九区久久AAA片69| 亚洲人成伊人成综合网久久久| 国产AⅤ精品一区二区三区久久| 久久丫忘忧草产品| 精品久久国产一区二区三区香蕉| 97久久婷婷五月综合色d啪蜜芽| 久久91这里精品国产2020| 国产精品久久波多野结衣| 无码精品久久久久久人妻中字| 久久婷婷五月综合成人D啪| 久久久久国产精品| 精品久久久久久中文字幕| 色综合久久无码五十路人妻| 国产精品久久久久久久app| 亚洲欧美久久久久9999| 精品久久久久久无码中文字幕 | 午夜精品久久久内射近拍高清| 日本精品久久久久中文字幕8| 无码AV中文字幕久久专区| 97精品依人久久久大香线蕉97| 综合久久久久久中文字幕亚洲国产国产综合一区首 | 观看 国产综合久久久久鬼色 欧美 亚洲 一区二区 | 亚洲国产成人久久综合野外| 久久国产香蕉一区精品| 亚洲人成网站999久久久综合| 国内精品欧美久久精品| 热综合一本伊人久久精品| 欧美亚洲国产精品久久|