[VB6 ] VB6 是如何實做字串陣列的?

看板Visual_Basic作者 (Daira)時間19年前 (2005/06/14 16:31), 編輯推噓1(102)
留言3則, 1人參與, 最新討論串1/2 (看更多)
因為最近寫的程式會需要建立一個龐大的字串陣列做排序及讀寫 舉列來說 Dim S(n) As String,n 可能大於 10 ^ 5 因此想了解 VB6 對字串陣列的實做方式,以及如何能加速並節省記憶體 以 C 的觀點來看,每一個字串都是一個 Char Array 因此如果要在 C 中建立字串陣列,可以直接開一個二維 Char Array 但缺點是每一個字串的長度必須固定,當字串長度差異很大時,很多記憶體是浪費的 不然就是開一個 Char Pointer Array,然後另外動態配置記憶體給每一個字串 這樣雖然記憶體省下了,但每次變動字串就必須重新配置記憶體長度 尤其是在排序時,字串會有大量的變動(這裡假設不能直接交換 Pointer) 不知道 VB6 的字串陣列是哪一種做法(我這裡指的是 VB 的動態長度字串) 如果是方法一,那是不是在字串變動時,等於整個陣列都要重新配置記憶體 又如果遇到這種情形,有沒有什麼方法可以做到速度和空間的最佳化 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.30.104

140.120.134.239 06/15, , 1F
我覺得如果你要用vb6
140.120.134.239 06/15, 1F

140.120.134.239 06/15, , 2F
那效率通常都不是考慮的重點吧
140.120.134.239 06/15, 2F

140.120.134.239 06/15, , 3F
不過我也想知道vb6是怎麼實作的XD
140.120.134.239 06/15, 3F
文章代碼(AID): #12hfNEyJ (Visual_Basic)
文章代碼(AID): #12hfNEyJ (Visual_Basic)