我提出了以下剪辑,但它看起来很hacky.
vectorcollection; collection.push_back(42); int *pointer = &(*(collection.end()--));
是否有一种简单的方法来获取指向最后插入元素的指针?
For std::vector
,back()
返回对最后一个元素的引用,所以&collection.back()
你需要的.
在C++ 17中,emplace_back
返回对新元素的引用.你可以用它而不是push_back
:
vectorcollection; int *pointer = &collection.emplace_back(42);