> 백엔드 개발 > C++ > C가 모호한 구문에서 변수 정의보다 함수 선언을 우선시하는 이유는 무엇입니까?

C가 모호한 구문에서 변수 정의보다 함수 선언을 우선시하는 이유는 무엇입니까?

Linda Hamilton
풀어 주다: 2024-12-26 07:49:10
원래의
527명이 탐색했습니다.

Why Does C   Prioritize Function Declarations Over Variable Definitions in Ambiguous Syntax?

성가신 구문 분석 수수께끼 풀기

모호한 구문을 접할 때

A a( A() );
로그인 후 복사

흥미로운 질문이 생깁니다. 왜 C 표준이 이를 해석하는 데 우선순위를 두나요? 변수 정의에 대한 함수 선언으로? 일반적인 기대치와의 이러한 차이는 표준의 입장이 광범위한 프로그래머 직관과 일치해야 하는지에 대한 논쟁을 불러일으킵니다.

이 선택을 이해하기 위해 "가장 짜증나는 구문 분석"(MVP)이라는 개념을 자세히 살펴보겠습니다. 함수를 선언하는 간단한 작업을 생각해 보세요.

A foo();
로그인 후 복사
로그인 후 복사

MVP가 없으면 이 코드는 "foo"라는 변수를 정의하는 것으로 해석됩니다. 새로운 키워드를 도입하거나 함수 선언에 더 복잡한 구문을 채택하면 언어가 너무 복잡해집니다. 대신 MVP는 유사한 구문 구조 전체에서 일관성을 보장합니다.

이 예에서 명확한 선언

A foo;
로그인 후 복사

은 변수를 정의하고

A foo();
로그인 후 복사
로그인 후 복사

함수를 선언합니다. . 이 논리를 조금 더 복잡한 MVP 사례로 확장하여 일관성을 유지합니다. 이는 "선언과 잠재적으로 유사한 모든 것을 선언으로 해석"하는 규칙을 단순화합니다. 이 접근 방식을 사용하면 복잡한 예외나 한정자의 필요성이 줄어듭니다.

이 설명에서는 MVP의 역사적 동기를 완전히 설명할 수는 없지만 언어 구문의 일관성과 단순성이라는 실질적인 이점을 강조합니다. 이러한 추론이 일반적인 프로그래밍 직관과 일치하는지 여부는 C 커뮤니티에서 지속적인 논쟁의 문제로 남아 있습니다.

위 내용은 C가 모호한 구문에서 변수 정의보다 함수 선언을 우선시하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿