从矢量中删除元素,同时存储已删除的元素

Remove element from vector, while storing the removed element

本文关键字:删除 元素 存储      更新时间:2023-10-16

尝试通过向量中的索引删除元素,同时存储它以返回它。如何以从向量中按索引删除元素时不删除的方式存储元素的值?

从根本上说,您要返回的值需要位于某个位置,因此如果从vector中删除该值,则需要将其放在某个位置。这里有一个选项:

 /* Move the object out of the vector so that we can return it. */
 ObjectType result = std::move(myVector[myIndex]);
 /* Delete the value from the vector. */
 myVector.erase(myVector.begin() + myIndex); // Or equivalent
 return result;