> 백엔드 개발 > C++ > 프로그래머가 누락된 중괄호를 추가하기 위해 매크로를 사용한 이유는 무엇입니까?

프로그래머가 누락된 중괄호를 추가하기 위해 매크로를 사용한 이유는 무엇입니까?

Susan Sarandon
풀어 주다: 2024-11-22 14:31:27
원래의
877명이 탐색했습니다.

Why Did a Programmer Use a Macro to Add Missing Braces?

과도한 매크로/전처리기 남용: 주의 사항

매크로와 전처리기는 프로그래밍에서 중요한 역할을 하지만, 이를 남용하면 재앙을 초래할 수 있습니다. 결과. 다음은 과도한 매크로 사용의 위험성을 보여주는 악명 높은 실제 사례입니다.

중괄호 누락 사례

특정 코드베이스에서 러시아의 한 프로그래머가 독특한 매크로:

#define RETURN(result) return (result);}
로그인 후 복사

이 매크로는 사용된 모든 함수에 닫는 중괄호를 자동으로 추가했습니다. 그러나 비정통적인 구문으로 인해 코드는 다음과 유사했습니다.

int myfunction1(args) {
    int x = 0;
    // do something
    RETURN(x)  // No closing brace here!
}
로그인 후 복사

이로 인해 구문 오류가 발생하고 구문 강조 표시가 제대로 작동하지 못하게 되었습니다. 프로그래머가 이러한 과감한 조치를 취한 동기는 메모리를 보존하려는 강박적인 욕구, 즉 극도로 제한된 자원을 사용하는 위성 시스템을 사용하면서 뿌리 깊은 습관이었습니다.

기타 기이함

Beyond 중괄호가 누락된 이 프로그래머는 다른 특이한 관행을 보여주었습니다.

  • A "누가 보고 있는지 알기" 위해 모니터 위에 있는 볼록 거울
  • 컴파일러 오류에 대한 "처벌"로 푸시업을 빠르게 터뜨리기

절도에 대한 교훈

이 극단적인 사례는 매크로 남용의 잠재적인 위험을 강조합니다. 매크로는 코드 크기 감소 또는 조건부 컴파일과 같은 가끔 이점을 제공할 수 있지만 과도하게 사용하면 코드를 읽을 수 없고 오류가 발생하기 쉬운 코드가 될 수 있습니다. 프로그래머는 매크로의 장점과 매크로가 초래하는 위험 사이의 균형을 유지하면서 명확성과 유지 관리성을 위해 노력해야 합니다.

매크로 우수성의 드문 사례

위의 예와 대조적으로, 매크로가 실제로 도움이 될 수 있는 경우가 있습니다. 그러한 사례 중 하나는 여러 번역 단위에서 일관성을 유지하는 상수 또는 플랫폼별 구성을 정의하는 것입니다. 매크로를 사용하면 개발자는 헤더 파일을 반복적으로 포함하지 않고도 이러한 정의를 적용할 수 있습니다.

프로그래머는 매크로의 장점과 위험을 모두 이해함으로써 악명 높은 "중괄호 누락" 시나리오와 같은 함정을 피하면서 해당 기능을 책임감 있게 활용할 수 있습니다. 적절한 경우 자신의 장점을 활용하세요.

위 내용은 프로그래머가 누락된 중괄호를 추가하기 위해 매크로를 사용한 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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