我有一个 STL 对象,例如
std::vector <long> vec1;
我想把它转换成一个向量
std::vector <int> vec2;
使用
std::map<long,int>map;
是否有一种有效的方法可以动态删除映射到 vec2 的 vec1 元素以减小 vec1 的大小?这个算法应该消耗最少的内存并且应该很快。是否可以就地执行此操作?std::remove_if 会做好吗?与分块处理相比,性能如何,即 vec1 被分成块;然后将每个块映射并存储在 vec2 中;在此之后从内存中删除块。
vec1(和 vec2)也可以是向量(向量的向量)。