>  기사  >  백엔드 개발  >  C의 'static' 키워드는 정말로 더 이상 사용되지 않습니까?

C의 'static' 키워드는 정말로 더 이상 사용되지 않습니까?

DDD
DDD원래의
2024-11-13 07:23:02873검색

Is the 'static' keyword in C   truly deprecated?

C에서 내부 연결 및 더 이상 사용되지 않는 '정적' 키워드

C 개발자는 오랫동안 번역 단위 내에서 '정적' 키워드를 사용해 기호 가시성을 제어해 왔습니다. 그러나 이 방식은 n3092에서 더 이상 사용되지 않고 n3225에서 제거되었습니다.

지원 중단의 근거

'static'의 지원 중단은 네임스페이스 범위에서 개체를 선언하는 데 사용을 막기 위한 것입니다. , 명명되지 않은 네임스페이스가 더 나은 대안을 제공했기 때문입니다. 그러나 C 결함을 추적하는 문제는 이러한 변경에 대한 미묘한 이유를 드러냅니다.

지원 중단 철회

C 표준 핵심 언어 결함 보고서의 개정 94에서 문제(1012. Undeprecating static )는 다음과 같이 설명합니다.

7.3.1.1 [namespace.unnamed]에서는 이름이 지정되지 않은 네임스페이스가 더 우수한 대안을 제공하기 때문에 네임스페이스 범위에서 변수를 선언하기 위해 static 키워드를 사용하는 것이 더 이상 사용되지 않는다고 명시하고 있지만 해당 기능이 가까운 미래에 언제든지 제거될 예정입니다.

'정적'의 지속성

이 업데이트는 지원 중단을 효과적으로 되돌립니다. 'Static'은 내부 연결이 있는 함수 및 개체를 선언하는 데 유효한 키워드로 남아 있습니다. 주요 장점은 이름이 지정되지 않은 네임스페이스를 사용하는 것에 비해 간결하고 추가 상용구 코드가 없다는 점입니다.

C 및 C 호환성에 대한 의미

원래 지원 중단은 C 표준에 대한 C 준수를 향상시키는 것을 목표로 했습니다. , C는 이름이 지정되지 않은 네임스페이스를 인식하지 못하기 때문입니다. 그러나 지원 중단을 철회하기로 한 결정은 C 프로그램을 C로 컴파일하는 현실 세계의 복잡성을 인정한 것입니다.

결론

'정적'의 지원 중단은 선의였을 수도 있지만 제거되었습니다. 이름이 지정되지 않은 네임스페이스는 내부 링크가 있는 개체를 선언하는 '정적' 유틸리티를 완전히 대체하지 못한다는 인식을 반영합니다. 결과적으로 개발자는 C 표준에서 '정적'의 존재가 조만간 사라질 가능성이 낮으므로 안심하고 계속 '정적'을 사용할 수 있습니다.

위 내용은 C의 'static' 키워드는 정말로 더 이상 사용되지 않습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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