2013-06-19 9 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を保持している場合、最後のペアの2番目の要素へのポインタを取得する方法を知っていますか? – danijar

+6

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

+0

@PeterWoodポインタを関数にバインドすると、不正な関数の例外が発生します。それはポインタと、したがって質問と関係がありますか?それ以外の場合は、トピックを混ぜないよう別の質問をします。 – danijar

関連する問題