推 Killercat:用std::vector 05/08 16:08
→ kwk22:重新配置記憶體? 05/08 21:13
推 kwpn:除了靜態陣列, 其他所有方法都可以吧. 05/08 21:19
→ loveme00835:你的C++應該沒辦法 05/08 23:46
→ damody:1. 冷靜 2. c++沒有專門的語法 05/09 02:40
→ Killercat:不過還是覺得std::vector幫你處理掉大部份的operator[] 05/09 03:22
→ Killercat:的語意上問題 真的要說最佳解的話 這應該排得上候選 :D 05/09 03:23
→ carylorrk:推vector是認真的嗎~ 05/09 03:50
→ Killercat:相當認真啊...vector本來就可以這樣用 o_oa 05/09 04:08
→ Killercat:二維就用vector<vector<int> > 取值一樣可以c[a][b] 05/09 04:09
→ Killercat:vector唯一的問題就是邊界要自己管理(如果需要的話) 05/09 04:10
→ Killercat:然後vector很貼心的幫你用operator&讓你能轉回傳統array 05/09 04:11
→ Killercat:int* array = &v[0]; 好vector 不用嗎 XD 05/09 04:12
→ bbearh:GlobalReAlloc 05/09 23:14
→ uranusjr:原問題是 prepend 耶, std::vector 超不適合好嗎... 05/10 03:33
→ EdisonX:@uranusjr,借問題我想問一般若已基於陣列,功能必要加入 05/10 13:04
→ EdisonX:prepend,會怎做? 是否沒什麼優化的空間了 ? 05/10 13:04
→ EdisonX:我的作法頗暴力就是了 Orz 05/10 13:05
→ Killercat:vector可prepend 不過的確,效能會很糟糕.... 05/11 14:53
→ uranusjr:如果一定要記憶體位址連續那也沒什麼招了吧, 或許可以模 05/11 20:33
→ uranusjr:仿 std::vector 自己做一個前後都 preallocate 的容器..? 05/11 20:34
→ Killercat:這個我以前做過 用circular buffer來實作std::vector 05/11 21:44
→ Killercat:的界面,然後跟std::vector一樣的記憶體雙倍策略 05/11 21:44
→ Killercat:然後用memory pool來處理所有的segment management 05/11 21:45
→ Killercat:我記得有人有做過類似的東西,不算少見。只是這太深了 05/11 21:45
→ Killercat:不過基本上要解決效率問題 circular buffer是個解 05/11 21:46
→ Killercat:有興趣可以做做看 反正vector source code都放在那給你 05/11 21:47
→ Killercat:抄,最麻煩的幾個部分如[]等等眉眉角角照著寫就好 05/11 21:47
→ Killercat:這東西真的要討論我覺得要去演算法版討論了 =P 05/11 21:48
→ AstralBrain:to樓上:為什麼不用std::deque就好 XD 05/11 23:09
→ Killercat:欸,對耶,當初是為什麼要搞的那麼麻煩(抱頭) 05/12 11:37
→ Killercat:是因為要放memory pool的關係嗎... 05/12 11:38