std::list<Value> stdList;
stdList.push_back(Value());
Value * ptr = &stdList.back(); // <-- what will this address point to?
如果我參加由back()
返回的引用和隱式轉換到少通用Value *
,將其指向列表的最後一個值之間的轉換,還是會指向某個地方意外?指針和引用
有沒有辦法從一個指針創建一個迭代器,用於std :: list函數,如erase()
?我認識到通用指針(指向指針的迭代器)遠比其他方向更可行,但我認爲我會問。
請注意,'stdList.back()'不返回迭代器,它返回對元素的引用。你在想'stdList.rbegin()'嗎? – Xymostech 2013-03-18 02:09:24
@Xymostech - 哦,我的錯誤。我稍後問了另一個問題,其中一位評論者將返回值描述爲迭代器。所以我想我只是下意識地把它挑起來了。我會解決這個問題 – 2013-03-18 02:18:01