C에서 C 헤더 탐색: std:: 대 전역 네임스페이스
C에서 C 헤더로 작업할 때 다음과 관련된 질문이 발생합니다. 함수 호출에 선호되는 접근 방식: std:: 네임스페이스 또는 전역 네임스페이스 사용. C는 헤더 이름(예: stdio.h를 cstdio로 변경)을 변경하여 C 헤더 포함을 지원하지만 어떤 접근 방식이 더 적절한지에 대한 의미론적 고려 사항은 남아 있습니다.
C 11 표준은 섹션 D에서 이 문제를 해결합니다. .5 [depr.c.headers], 모든 C 헤더(name.h 이름 형식)는 해당 cname 헤더에 의해 선언된 각 이름이 전역 네임스페이스 내에 배치된 것처럼 동작한다고 명시되어 있습니다. 그러나 이러한 이름이 먼저 std 네임스페이스에서 선언되거나 정의된 다음 전역 네임스페이스에 삽입되는지 여부는 지정되지 않습니다.
예를 들어
이 정보를 바탕으로 cname 헤더를 포함하고 std 네임스페이스의 선언 및 정의를 활용하는 것이 좋습니다. 이는 향후 개정판과의 호환성을 보장하고 표준에 설명된 기본 접근 방식을 따릅니다.
#include <cstdio> int main() { std::printf("Hello world\n"); }
위 내용은 C의 C 헤더 : std:: 대 전역 네임스페이스 - 어떤 접근 방식이 더 낫습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!