我在stackoverflow上阅读了很多关于这个主题的问题。但是,我在其中任何一个中都找不到我的答案。因此,这个问题。
我有
vector< vector< int > > temp
我可以为外部向量保留内存:
temp.reserve(20);
现在,我想为每个内部向量保留内存。我可以这样做:
temp[i].reserve(500);
但是,如果我使用 temp.clear(); 那么 temp 的容量保留为 20。但是,现在如果我用 20 个内部向量初始化 temp 向量,这些内部向量的容量将重置为 0(根据 VS2010 Intellisense)。
我的问题:
即使在清除并重新初始化外部向量后,如何保留 500 的内部向量容量?
我正在使用 OpenCV findContours 函数。此函数清除外部向量并用一组新的内部向量填充它。这个函数会导致内存的释放和重新分配吗?