[VB6 ] VB6 是如何實做字串陣列的?
因為最近寫的程式會需要建立一個龐大的字串陣列做排序及讀寫
舉列來說 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
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
140.120.134.239 06/15, 3F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
Visual_Basic 近期熱門文章
PTT數位生活區 即時熱門文章