http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2271.html
根据那篇文章,STL不适合游戏开发。你对此有何感想?
我目前的方法是这样的:使用STL,如果导致性能问题,则与自制容器(或分配器)交换(尚未开始,但我不是在做高端3d游戏;)
发布于 2009-03-26 16:29:09
在这种情况下,您的方法是唯一明智的选择。优化的第一条规则是“除非你确切地知道瓶颈在哪里,否则不要优化”。
以后您应该仍然能够相对容易地交换容器,特别是如果您使用通过type定义的类型,而不是直接使用STL容器。我的意思是这样的:
#include <vector>
typedef std::vector<int> MyIntVectorType;
int main()
{
MyIntVectorType theVector;
}发布于 2009-03-26 16:30:01
你必须意识到STL在幕后做什么。例如,如果您使用一个向量,例如,不要让它任意增长,使用vector::resize()提前进行分配,这样它只分配一次。诸如此类的东西。你的方法还不错--做你的功课就行了。
发布于 2009-03-26 21:45:31
如果你刚刚开始游戏编程,那就继续使用STL吧,它很棒,而且很稳定。你最好使用一些有效且稳定的东西,而不是为了一两个fps而开始抓挠。然而,这里是许多主流工作室不使用它的两个原因。
拥有一个自定义版本的容器不是一件微不足道的工作,只有在它值得的时候才去做。
https://stackoverflow.com/questions/686510
复制相似问题