尝试通过索引从向量中删除元素,同时将其存储以返回它。当我从向量中按索引删除元素时,如何以未删除的方式存储元素的值?
答案 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;