C++ std::forward_list::在迭代时向前推 std::forward_list foo{1,2,3,4,5}; for(int i:foo) { 如果(i==1)foo.push_front(0); std::cout

C++ std::forward_list::在迭代时向前推 std::forward_list foo{1,2,3,4,5}; for(int i:foo) { 如果(i==1)foo.push_front(0); std::cout,c++,c++11,C++,C++11,From 添加、删除和移动列表中的元素,或跨 多个列表不会使当前引用的迭代器无效 到列表中的其他元素。但是,迭代器或引用 当相应的元素 从列表中删除(通过擦除后) 插入前向列表不会使迭代器无效。我想VTC将此作为我的迭代器无效常见问题解答的副本,但它缺少std::forward\u list@LightningRacisinObrit请将我链接到该常见问题解答条目。我似乎在你的个人资料中找不到它。噢,哈哈,我的错误;它就在那里。 std::forward_list<int> foo

From

添加、删除和移动列表中的元素,或跨 多个列表不会使当前引用的迭代器无效 到列表中的其他元素。但是,迭代器或引用 当相应的元素 从列表中删除(通过擦除后)


插入前向列表不会使迭代器无效。我想VTC将此作为我的迭代器无效常见问题解答的副本,但它缺少
std::forward\u list
@LightningRacisinObrit请将我链接到该常见问题解答条目。我似乎在你的个人资料中找不到它。噢,哈哈,我的错误;它就在那里。
std::forward_list<int> foo {1,2,3,4,5};

for(int i:foo)
{
    if(i==1) foo.push_front(0);

    std::cout << i << std::endl;
}