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