首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

打破std :: for_each循环

在C++中,std::for_each是一个算法,用于对容器中的每个元素执行特定操作。然而,在某些情况下,需要在循环过程中中断或者修改容器元素,这时候就不能使用std::for_each了。

在这种情况下,可以使用传统的C++循环,例如for循环或者范围循环。以下是一个使用范围循环的例子:

代码语言:cpp
复制
#include<iostream>
#include<vector>

int main() {
    std::vector<int> v = {1, 2, 3, 4, 5};

    for (auto it = v.begin(); it != v.end(); ++it) {
        if (*it == 3) {
            // 当遇到3时,删除该元素
            it = v.erase(it);
            // 继续循环
            continue;
        }
        std::cout << *it<< std::endl;
    }

    return 0;
}

在这个例子中,我们使用范围循环遍历一个std::vector,当遇到元素3时,我们删除该元素并继续循环。这样就可以在循环过程中中断或者修改容器元素。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的沙龙

领券