在我的代碼中,一直用對象池管理部分對象的分配。我是對哪些對象才使用對象池呢?我只有一個原則就是:當某種對象會被頻繁的new和delete的時候,我會對這個對象使用對象池。前兩天,我在我的代碼中發現了有這樣一個類:
posted on 2010-05-20 14:21 zuhd 閱讀(1531) 評論(3) 編輯 收藏 引用 所屬分類: c/c++
@空明流轉 哪句話?這么激動? 回復 更多評論
我覺得完全可以忽略子對象(成員變量對象)的細節,也就是說假設這里的內存池只管理player,那么你就沒必要去理會這些容器底層的細節。因為這會成為一個遞歸的情況。 如果僅僅是為了緩存player本身,最好還是在將player放回池中的時候,來次reset吧。不然下一次再取出來的時候,會得到一個并非處于initial狀態的對象,這會增加邏輯的負擔。 回復 更多評論
@Kevin Lynx 池中的對象都類似與有一個Release的函數,去做釋放具體對象中的資源,比如,對象中的IContainer*。其他的變量的初始化,也可以不在這里做,畢竟從池中取出來的時候,還要初始化一遍的! 回復 更多評論
Powered by: C++博客 Copyright © zuhd