http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2271.html
根据那篇文章,STL不适合游戏开发.你对此有何看法?
我目前的做法是:使用STL,如果导致性能问题与homebrew容器(或分配器)交换(还没有来,但我没有做高端的3D游戏;))
在这种情况下,您的方法是唯一合理的选择.优化的规则#1是"除非你确切知道瓶颈在哪里,否则不要进行优化".
您应该仍然可以在以后相对容易地交换容器,特别是如果您使用通过typedef定义的类型而不是直接使用STL容器.我的意思是:
#includetypedef std::vector MyIntVectorType; int main() { MyIntVectorType theVector; }
你必须知道STL在幕后做了什么.例如,如果您使用向量,例如,不要让它任意增长,请使用vector :: resize()预先进行分配,这样它只分配一次.类似的东西.你的方法并不坏 - 只需做你的功课.