C++에서 break 대 continue

Jinku Hu 2023년10월12일
  1. break 문 연산자를 사용하여 루프 본문 종료
  2. continue 문을 사용하여 루프 본문의 일부를 건너 뜁니다
C++에서 break 대 continue

이 기사는 C++에서breakcontinue 문을 사용하는 방법에 대한 여러 가지 방법을 보여줍니다.

break 문 연산자를 사용하여 루프 본문 종료

continue와 유사한 break문은 프로그램 실행 흐름을 방해하는 데 사용되는 jump 문이라고합니다. 이 경우, breakfor루프 문을 종료하는 데 사용됩니다. break에 도달하여 실행되면 프로그램은 루프 본문을 떠나 다음 문인cout << item << "3"에서 계속됩니다. break는 반복 또는switch 문과 함께 사용해야하며 가장 가까운 엔 클로징 루프 /switch에만 영향을줍니다.

#include <iostream>
#include <vector>

using std::cin;
using std::cout;
using std::endl;
using std::for_each;
using std::string;
using std::vector;

int main() {
  vector<string> arr1 = {"Gull", "Hawk"};

  for (auto &item : arr1) {
    cout << item << " 1 " << endl;
    for (const auto &item1 : arr1) {
      cout << item << " 2 " << endl;
      if (item == "Hawk") {
        break;
      }
    }
    cout << item << " 3 " << endl;
  }

  return EXIT_SUCCESS;
}

출력:

Gull 1
Gull 2
Gull 2
Gull 3
Hawk 1
Hawk 2
Hawk 3

continue 문을 사용하여 루프 본문의 일부를 건너 뜁니다

continue 문은 현재 루프 반복을 종료하고 다음 반복 실행을 시작하는 데 사용할 수있는 언어 기능입니다. continuefor,while 또는do while 루프에서만 사용할 수 있습니다. 문이 여러 개의 중첩 된 루프 블록에 포함 된 경우 continue는 내부 루프 블록 반복 만 중단하고 조건식 평가로 이동합니다.

다음 예에서 현재vector 요소가Hawk와 같으면continue 문에 도달합니다. 실행되면 프로그램은 현재vector에 다른 요소가 남아 있으면for 루프 표현식을 평가합니다. true이면cout << item << " 2 " 행이 실행되고, 그렇지 않으면cout << item << " 3 "에 도달합니다.

#include <iostream>
#include <vector>

using std::cin;
using std::cout;
using std::endl;
using std::for_each;
using std::string;
using std::vector;

int main() {
  vector<string> arr1 = {"Gull", "Hawk"};

  for (auto &item : arr1) {
    cout << item << " 1 " << endl;
    for (const auto &item1 : arr1) {
      cout << item << " 2 " << endl;
      if (item == "Hawk") {
        continue;
      }
    }
    cout << item << " 3 " << endl;
  }
  cout << endl;

  return EXIT_SUCCESS;
}

출력:

Gull 1
Gull 2
Gull 2
Gull 3
Hawk 1
Hawk 2
Hawk 2
Hawk 3
작가: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook

관련 문장 - C++ Loop