从vector中删除元素,同时存储删除的元素

时间:2017-11-08 19:10:31

标签: c++ vector

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

1 个答案:

答案 0 :(得分:3)

从根本上说,您想要返回的价值需要居住在某个地方,因此如果您从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;