모호한 구문을 접할 때
A a( A() );
흥미로운 질문이 생깁니다. 왜 C 표준이 이를 해석하는 데 우선순위를 두나요? 변수 정의에 대한 함수 선언으로? 일반적인 기대치와의 이러한 차이는 표준의 입장이 광범위한 프로그래머 직관과 일치해야 하는지에 대한 논쟁을 불러일으킵니다.
이 선택을 이해하기 위해 "가장 짜증나는 구문 분석"(MVP)이라는 개념을 자세히 살펴보겠습니다. 함수를 선언하는 간단한 작업을 생각해 보세요.
A foo();
MVP가 없으면 이 코드는 "foo"라는 변수를 정의하는 것으로 해석됩니다. 새로운 키워드를 도입하거나 함수 선언에 더 복잡한 구문을 채택하면 언어가 너무 복잡해집니다. 대신 MVP는 유사한 구문 구조 전체에서 일관성을 보장합니다.
이 예에서 명확한 선언
A foo;
은 변수를 정의하고
A foo();
함수를 선언합니다. . 이 논리를 조금 더 복잡한 MVP 사례로 확장하여 일관성을 유지합니다. 이는 "선언과 잠재적으로 유사한 모든 것을 선언으로 해석"하는 규칙을 단순화합니다. 이 접근 방식을 사용하면 복잡한 예외나 한정자의 필요성이 줄어듭니다.
이 설명에서는 MVP의 역사적 동기를 완전히 설명할 수는 없지만 언어 구문의 일관성과 단순성이라는 실질적인 이점을 강조합니다. 이러한 추론이 일반적인 프로그래밍 직관과 일치하는지 여부는 C 커뮤니티에서 지속적인 논쟁의 문제로 남아 있습니다.
위 내용은 C가 모호한 구문에서 변수 정의보다 함수 선언을 우선시하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!