在此 C++ 代码中,迭代器引用列表的哪个元素?

In this C++ code, what element of the list does the iterator refer to?

代码如下:

listOfFoos::iterator new_foo_it = listOfFoos.insert(listOfFoos.end(),newFoo);

listOfFoos 就是 std::listfoo 个对象。通常你会写:

listOfFoos::iterator new_foo_it = listOfFoos.begin();

我也理解 list.insert() 会在指定的索引处插入一个 newFoo ,然后创建迭代器。但是我不知道插入如何影响迭代器的位置。

手册中有详细记载。

An iterator that points to the first of the newly inserted elements.

在你的情况下 new_foo_it 在单个元素的 listOfFoos.insert 之后,指向列表的最后一个元素,它指向 newFoo.