我想出了以下的代码片段,但它看起来很糟糕。
vector<int> collection;
collection.push_back(42);
int *pointer = &(*(collection.end()--));
有没有一种简单的方法来获取指向最后插入元素的指针?
std::vector
,back()
返回对最后一个元素的引用,所以你需要使用&collection.back()
。emplace_back
返回对新元素的引用。您可以使用它来代替push_back
:vector<int> collection;
int *pointer = &collection.emplace_back(42);
std::pair
,您知道如何获取指向最后一对第二个元素的指针吗? - danijar&(collection.back().second)
- Peter Wood