[問題] STL容器:容器包容器?

看板C_and_CPP (C/C++)作者 (幻世神創之境界)時間13年前 (2012/12/12 16:33), 編輯推噓4(408)
留言12則, 7人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) VC2010 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) STL 問題(Question): 我從資料庫取回一堆資料 而這些資料都有相同的欄位 用其中一個欄位(假設iType好了)來作為資料分類使用 而在取用時則依照iType來取得所需的資料 所以我用了雙層map來存放這些資料 可能iType為1的資料有1個 iType為2有3個 所以就會是map<iType, mapData> mapData<iIndex, Data> (Index為流水號 0,1,2,...) 不過我的同事跟我說這樣用可能會有問題 可能map在增加元素時會蓋到其他的子map而生記憶體覆蓋問題 我說我之前這樣用子map有幾百個元素時也沒發生過問題 他又說就算以前沒發生過問題也不代表以後不會發生 上網查了一下資料好像有很少探討container去包container會有甚麼風險 所以想請問一下到底有沒有資料可以證明這樣做一定有機率發生問題或一定沒有問題 感謝各位先進 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.162.14.25

12/12 17:34, , 1F
container 包 container 不是還滿常見的嗎?@@
12/12 17:34, 1F

12/12 17:40, , 2F
map又不是連續記憶體 不會有問題吧
12/12 17:40, 2F

12/12 18:50, , 3F
你同事不是想太多就是連動態記憶體機制都外行
12/12 18:50, 3F

12/12 19:22, , 4F
完全沒問題 你同事想太多 STL容器哪有那麼弱
12/12 19:22, 4F

12/12 20:22, , 5F
我要笑死了,請你同事多唸點書吧,這真的可以唸書就懂。
12/12 20:22, 5F

12/12 20:55, , 6F
xDD
12/12 20:55, 6F

12/12 21:02, , 7F
流水號的話用 vector 吧
12/12 21:02, 7F

12/13 02:43, , 8F
覺得疑惑就自己印出來驗證 http://ideone.com/yOLvLj
12/13 02:43, 8F

12/13 02:44, , 9F
std::allocator<T> 是 stateless 的, 若真要說會
12/13 02:44, 9F

12/13 02:44, , 10F
overlap 可能是自己實作了一個不好的 memory pool, 不
12/13 02:44, 10F

12/13 02:46, , 11F
過一般人型別引數應該很少會傳到 4 個這麼多
12/13 02:46, 11F

12/15 16:59, , 12F
vector< vector<int> > 我經常用,電腦已經爆了N台:P
12/15 16:59, 12F
文章代碼(AID): #1Go45LE- (C_and_CPP)
文章代碼(AID): #1Go45LE- (C_and_CPP)