> 백엔드 개발 > C++ > C의 추가 괄호가 프로그램 동작에 영향을 줍니까?

C의 추가 괄호가 프로그램 동작에 영향을 줍니까?

Patricia Arquette
풀어 주다: 2024-10-23 22:01:30
원래의
835명이 탐색했습니다.

Do Extra Parentheses in C   Affect Program Behavior?

연산자 우선 순위를 넘어서는 C의 추가 괄호

추가 괄호는 일반적으로 C의 프로그램 동작에 영향을 미치지 않지만 다음과 같은 특정 컨텍스트가 있습니다. 코드의 의미를 변경합니다.

ADNL(인수 종속 이름 조회) 방지

함수 호출(fun)(arg) 주위에 괄호를 사용하면 인수가 방지됩니다. -종속 이름 조회. 즉, 인수 유형에 따라 고려되는 네임스페이스 범위 친구 함수 또는 함수 템플릿 선언은 조회에 포함되지 않습니다.

목록 컨텍스트에서 쉼표 연산자 활성화

함수 인수 및 초기화 목록과 같은 목록과 유사한 컨텍스트에서 괄호를 사용하면 일반 형식에서는 적용되지 않는 쉼표 연산자를 사용할 수 있습니다. 예를 들어, a, (b, c), d에는 b와 c에 쉼표 연산자가 적용되지만 a, b, c, d에는 적용되지 않습니다.

성가신 구문 분석의 모호성 해결

추가 괄호를 사용하면 특정 선언의 구문 분석 모호성을 해결할 수 있습니다. "가장 짜증나는 구문 분석"은 추가 괄호가 없으면 선언이 함수로 해석될 수 있는 유명한 예입니다.

decltype 표현식의 참조 추론

decltype 표현식에서 괄호의 유무는 추론된 참조성에 영향을 미칩니다. 예를 들어, decltype(e)는 e의 유형을 추론하고 decltype((e))는 표현식 (e)의 유형을 추론합니다.

전처리기 매크로 관련 오류 방지

추가 괄호를 사용하면 전처리기 매크로 관련 오류를 방지할 수 있습니다. 예를 들어, 매크로 매개변수를 괄호로 묶습니다. #define TIMES(A, B) (A) * (B); 연산자 우선순위가 올바른지 확인하세요.

위 내용은 C의 추가 괄호가 프로그램 동작에 영향을 줍니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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