Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C/C++에서 중괄호를 생략하는 것이 왜 나쁜 습관으로 간주됩니까?

<시간/>

C++에서는 if-else 문 뒤나 루프 뒤에서 중괄호를 생략할 수 있습니다. 중괄호를 사용하지 않으면 if-else 또는 루프 뒤의 하나의 명령문만 해당 블록에서 고려됩니다. 예를 들어 -

if(condition) {
   Line 1
   Line 2
}

if(condition)
Line 1
Line 2

첫 번째 경우에는 Line1과 Line2가 모두 if 블록에 있습니다. 그러나 두 번째 조건에서 Line1은 if 블록에 있지만 Line2는 if 블록에 없습니다. 따라서 중괄호는 생략할 수 있습니다. if-else 또는 루프 아래에 단일 문이 있어야 합니다.

때로는 디버깅 목적으로 한 줄에 주석을 추가합니다. 이것을 사용하여 우리는 그 문장 없이 출력의 효과를 확인합니다. 그 시간에 if-else 또는 중괄호가 없는 루프는 약간의 문제를 만듭니다. 예를 들어 -

if(condition) {
   Line 1
}
Line2

if(condition)
Line 1
Line 2

여기 두 경우 모두에서 Line1은 if 블록에 있지만 Line2는 if 블록에 없습니다. 따라서 조건이 실패하거나 Line2를 충족하면 항상 실행됩니다. 이제 디버깅을 위해 아래와 같은 상황이라면 문제가 발생할 수 있습니다.

if(condition)
//Line 1
Line 2

Line1에 주석을 달면 그냥 괜찮다고 생각하는데, 이 경우 컴파일러는 Line2가 if 블록에 있다고 생각하는데 그것은 잘못된 것입니다. 중괄호를 사용하면 문제 없습니다.