c++におけるbreakとcintinueの違い

808 ワード

break:現在のループ全体を終了し、現在のループの下にある文を実行し、ループ内の他の文とループ条件テストを無視します.continue:今回のループの実行を終了します.すなわち、現在のループのcontinue文をスキップした後に実行されていない文をスキップし、次のループ条件の判断を行います.
注意:continueはループにのみ使用できますが、breakはループまたはswitchにのみ使用できます.whileループ、forループなど、文の判断には使用できません.コード量が大きい場合、continueまたはbreakの使い方を忘れてしまうことがあります.
例:
while(left < right){
            if(rotateArray[left] < rotateArray[right]) break;
            if(rotateArray[left] == rotateArray[left+1]) { left++; continue; }
            if(rotateArray[right] == rotateArray[right-1]) { right--; continue; }
            int mid = left + (right - left)/2;
            if(mid == left) return min(rotateArray[mid], rotateArray[right]);
            if(rotateArray[mid] > rotateArray[left]) left = mid + 1;
            else right = mid;
        }