【发布时间】:2013-04-09 10:33:57
【问题描述】:
TBB Concurrent Vector 我们可以通过grow_by 和grow_to_at_least 来动态调整大小。而STL Vector 中也有resize 函数。那么有什么区别呢?
我遇到的不同是
1. concurrent_vector 在数组被清除之前永远不会移动元素,这比 STL std::vector(可以移动元素以调整向量的大小)具有优势,即使对于单线程代码也是如此。
2。仅当您确实需要在其他访问正在进行(或可能正在进行)时动态调整它的大小,或者如果您要求元素永不移动时,才使用 concurrent_vector。
由于我对此感到困惑,任何人都可以解释这些观点吗?
【问题讨论】: