>백엔드 개발 >C++ >C/C에서 for(;;), while(1) 또는 while(true) 중 어떤 무한 루프 구문이 가장 좋습니까?

C/C에서 for(;;), while(1) 또는 while(true) 중 어떤 무한 루프 구문이 가장 좋습니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-15 00:39:02290검색

Which Endless Loop Syntax in C/C   is Best: for(;;), while(1), or while(true)?

C/C의 끝없는 루프

질문:

for(;;), while(1) 및 do {} while(1)을 포함하여 C/C의 무한 루프입니다. 선호하는 형식이 있습니까? 최신 컴파일러는 다른 형식보다 하나를 최적화합니까?

답변:

개인 취향에 따라 이 주제에 대한 많은 논의가 이루어지지만 객관적인 분석을 통해 다음:

for(;;)

  • Kernighan과 Ritchie의 권위 있는 "The C 프로그래밍 언어"에서 인용된 정식 형식.
  • for 루프 구문에서 생략된 요소를 C 표준에서 고유하게 처리하기 때문에 모호합니다.

while(1)

  • 더 읽기 쉽습니다. for(;;)이지만 0이 아닌 표현식을 true로 해석하는 C에 의존합니다.
  • 컴파일러 경고가 발생할 수 있습니다("조건은 항상 true입니다").

while(true)

  • while(1)에 비해 가독성을 높이기 위한 것입니다.
  • 여전히 동일한 컴파일러 경고를 트리거합니다.
  • stdbool.h 헤더 및 부울 유형은 모든 플랫폼에서 지원되지 않을 수 있습니다.

최신 컴파일러 최적화

최신 컴파일러는 이러한 모든 루프 형식을 무한으로 인식합니다. 루프를 실행하고 동등한 최적화를 수행합니다. 컴파일러 설정에 따라 경고가 나올 수도 있지만 생성되는 최적화된 코드는 동일합니다.

결론

결국 무한 루프 구문의 선택은 개인의 문제입니다. 선호. 그러나 for(;;)에 대한 폭넓은 인식, 컴파일러 경고 방지, C/C에 익숙한 사용자를 위한 추가 가독성 노력의 중복을 고려하면 여전히 합리적인 선택입니다.

위 내용은 C/C에서 for(;;), while(1) 또는 while(true) 중 어떤 무한 루프 구문이 가장 좋습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.