我的代码进行了大量的分析,发现它花费了很多时间为向量分配空间。
对于这些向量中的大多数,大小是事先已知的,因此我调用
对于这些向量,其大小几乎总是非常小的,例如4或5个元素,但在极少数情况下,它可能非常大。
我考虑到的另一个优化是创建自己的容器
对于这些向量中的大多数,大小是事先已知的,因此我调用
reserve()
来预先分配空间。对于这些向量,其大小几乎总是非常小的,例如4或5个元素,但在极少数情况下,它可能非常大。
我考虑到的另一个优化是创建自己的容器
OptimizedList<T,N>
。该对象的实例包含N个T实例作为普通数组,并且如果用户尝试添加多于N个项目,则会开始使用动态分配来获取额外的项。
是否有已知的实现?
deque
替换vector吗?如果您知道大小,也可以提前保留已知大小,这适用于vector的情况。 - Dmitry Ledentsovstd::deque
? - Galimov Albertstd::vector
жњ‰дёЂдёҒжһ„йЂ е‡Ңж•°пәЊеЏҮд»Өдә е…Өе€қ始元зө ж•°й‡ЏгЂ‚ - nvoigt