小编far*_*zki的帖子

如何在嵌套for循环中使用类似continue语句的东西?

我有一类对象,需要将每个对象的一个​​属性与所有其他对象的相同属性进行比较.如果匹配,代码需要做一些事情.这导致两个'for循环'循环遍历对象以获取该属性,而在第二个'for循环'中,有第三个'for循环'遍历属性的元素(这是一个向量)来比较它们.如果它们匹配,我需要最外面的'for循环'来中止当前迭代并继续下一个(我只希望第一个匹配另一个对象被考虑​​).

我已经研究了'goto'语句并创建了一个do {} while()结构,但是却无法以获得所需结果的方式实现它们.我需要的是基于内部循环中条件语句中发生的事情,最外层循环的'continue'语句.

哪个是实现这一目标的好方法,它将如何实施?

编辑:在我接受的答案旁边,我也会推荐Martin Bonner的答案,这也很好,并且不依赖于goto.

for (int i = 0; i < max; i++){
Object & object1 = system.getAgent(i);
VectorOfStrings object_property1 = object1.getProperty();

    for (int j = i + 1; j < max; j++){
    Object & object2 = system.getObject(j);
    VectorOfStrings object_property2 = object2.getProperty();

        for (unsigned int k = 0; k < object_property1.size(); k++){

            if (object_property1[k] == object_property2[k]){

            //do something

            break; //this aborts the inner most loop
            //Additionally, I need the outer most loop to move on one iteration …
Run Code Online (Sandbox Code Playgroud)

c++ conditional loops continue nested-loops

13
推荐指数
4
解决办法
1万
查看次数

标签 统计

c++ ×1

conditional ×1

continue ×1

loops ×1

nested-loops ×1