還有兩個比較沒被拉出來討論的原因
第一個就是前面提到的embedded system, 這點可能要講詳細點
embedded system如果用c++的話,由於系統特性的關係
很多東西都會選擇使用memory pool技術而非vector
memory pool的話,我個人也是傾向於不要自己寫
loki::smallobject可以解決很多問題 @@a
真的情況複雜到連loki::smallobject都沒辦法解決的話
那再考慮自己去找3rd party或者自己寫
不過由於memory pool in C++通常實作上會override掉某些class的placement new/delete
所以可讀性會下降一點是難免的
另外一個原因則是出乎意料的簡單,因為不想用libc++ 如此而已 XD
大概整個Project都是用c寫的吧...
-
btw, 大多數case來講vector都是拿來當handle container
(以這例子來講,存的就handle就是pointer)
其實因為它使用上其實速度跟效率不是很好,通常很少拿來做存實體的用途...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 180.176.114.137
※ 編輯: Killercat 來自: 180.176.114.137 (11/04 16:11)