std::list<Value> stdList;
stdList.push_back(Value());
Value * ptr = &stdList.back(); // <-- what will this address point to?
如果我采用返回的引用back()
并将其隐式转换为较不通用的Value *
,它会指向列表的最后一个值,还是会指向意外的地方?
有没有办法从指针创建一个迭代器,用于 std::list 函数,例如erase()
?我意识到从通用到特定(迭代器到指针)比往另一个方向更可行,但我想我还是会问。