2013-06-19 72 views

回答

17

對於std::vector,back()返回最後一個元素的引用,所以&collection.back()是你所需要的。

在C++ 17中,emplace_back返回對新元素的引用。你可以用它代替push_back

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

非常感謝。此外,如果向量持有'std :: pair's,你知道如何獲得最後一對的第二個元素的指針嗎? – danijar

+6

'&(collection.back()。second)' –

+0

@PeterWood如果我將該指針綁定到一個函數,會給我一個不好的函數異常。它可能與指針有關,因此與問題有關嗎?否則,我會要求另一個不要混淆主題。 – danijar

相關問題