C 17의 인라인 변수 이해
2016년 C 표준 위원회는 C 17 표준의 일부로 인라인 변수를 도입했습니다. 이 기능을 사용하면 링커 오류 없이 헤더 파일에 정의하고 여러 번역 단위에서 참조할 수 있는 외부 연결 변수를 생성할 수 있습니다.
인라인 변수 작동 방식
변수에 적용된 인라인 지정자는 외부 연결을 허용합니다. 즉, 다양한 번역 단위에서 변수에 대한 여러 정의가 허용된다는 의미입니다. 여러 정의가 존재하는 경우 링커는 그 중 하나를 선택하고 나머지는 무시합니다.
인라인 변수 선언, 정의 및 사용
인라인 변수는 정적으로 선언해야 합니다. 클래스 정의 또는 네임스페이스 범위에서 정의될 수 있습니다. 중괄호 또는 같음 이니셜라이저를 사용하거나 constexpr 지정자로 선언된 경우 이니셜라이저 없이 별도의 재선언을 통해 초기화할 수 있습니다. 예:
struct Kath { static inline std::string const hi = "Zzzzz..."; };
이 코드는 Kath 구조체에서 hi라는 정적 인라인 변수를 선언합니다. 변수는 "Zzzzz..." 값으로 초기화되며 변수가 정의된 헤더를 포함하는 모든 번역 단위에서 Kath::hi를 사용하여 액세스할 수 있습니다.
인라인 변수의 이점
인라인 변수는 여러 가지 장점을 제공합니다.
위 내용은 C 17 인라인 변수는 외부 연결 문제를 어떻게 해결합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!