如何获得指向std::vector中最后插入元素的指针

How to get a pointer to last inserted element of a std::vector?

本文关键字:最后 插入 元素 指针 vector 何获得 std      更新时间:2023-10-16

我编写了下面的代码片段,但是看起来很粗糙。

vector<int> collection;
collection.push_back(42);
int *pointer = &(*(collection.end()--));

是否有一种简单的方法来获得指向最后插入元素的指针?

对于std::vector, back()返回对最后一个元素的引用,因此&collection.back()是您需要的。

在c++ 17中,emplace_back返回对新元素的引用。你可以用它来代替push_back:

vector<int> collection;
int *pointer = &collection.emplace_back(42);