Zeb*_*ish 5 c++ arrays vector std bounds
我知道有一些方法可以在索引向量时执行或不执行边界检查,但特别是在 push_back() 上,即使我知道向量的容量足够大(即,我保留了足够的容量),并且我跑了一个循环将元素推回其中,我认为因为它是动态调整大小的,所以它总是必须对每个 push_back 进行边界检查(或大小检查)。
如果是这种情况,那么我在想,如果您知道自己不会超过容量,那么像 fast_push() 这样的东西会很有用。
我听说过一些矢量库更快的说法,例如这个http://andreoffringa.org/?q=uvector,但是当知道边界检查不会时,我没有具体看到 push_back() 的问题被需要。链接中的一个声称速度提高了 50%。其中之一是在您不需要时防止构造上的值初始化,以及其他一些事情。
谢谢。