smart pointer in gamedev
生活随笔
收集整理的這篇文章主要介紹了
smart pointer in gamedev
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
為什么80%的碼農都做不了架構師?>>> ??
在游戲開發,確切的講是engine開發中什么時候使用smart pointer? 現代游戲engine開發幾個特點:
- 規模很大
- 效率是核心競爭力
- 多線程等由硬件定制的特點
那么在考慮是否使用smart pointer的時候,效率不可避免。
?
smart pointer的屬性就是:自己管理自己,當沒人需要,就銷毀。
?
這樣看來:
- 在資源的所有者不明的時候,應該使用smart pointer。
- 資源所有者明確的時候(也就是不需要自我管理),就由所有者來負責內存的管理。
- 作為memory leak的處理方式個人不是很喜歡,smart pointer不是唯一的處理方法,不停地加加減減比較煩。
- 作為參數和返回值也不好,完全沒必要,應該是用內部的raw pointer來做,然后到歸屬地的時候再smart pointer包起來。
- 多線程安全,目前看來比較好的方法是在初始化的時候定下所屬的線程,然后在非shipping版本里面runtime的進行所屬線程的assert。
?
?
?
?
?
?
原文鏈接: http://blog.csdn.net/ccanan/article/details/6091760
轉載于:https://my.oschina.net/dtec/blog/44878
總結
以上是生活随笔為你收集整理的smart pointer in gamedev的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: gpu programming guid
- 下一篇: 百度知道的注意事项