我有一个 map<EntityState, boost::weak_ptr<Animation>>
在我的 EntityRepresentation
类(class)。我有点想为表示创建一个 Builder 类,但我必须考虑复制 map 的成本。
EntityState
复制起来很便宜,因为它只是静态函数的集合; boost::weak_ptr
复制也很便宜。整个 map 怎么样?
最佳答案
不要过早优化。在许多情况下,构建器类的运行时性能不会成为瓶颈。
一般来说,复制一张 map 的复杂度是O(n)
。从评论看来,n
很小。如果您已经确定您确实需要优化,那么在这种情况下,使用两个 vector 在访问项目和复制方面都会更便宜。
关于c++ - 复制一张 map 有多贵?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6327172/