주입된 클래스 이름: 목적과 역사
C에서는 "주입된 클래스 이름"이라는 독특한 기능이 해당 범위 내에서 현재 클래스의 이름에 액세스합니다. 이 기능은 C 03에 도입되어 언어에서 그 존재감을 확고히 했습니다.
주입된 클래스 이름의 필요성
주입된 클래스 이름은 여러 개의 클래스가 있는 상황에서 모호성을 방지합니다. 동일한 이름을 가진 클래스가 동일한 범위 내에 존재합니다. 이 기능이 없으면 클래스 내의 이름 조회가 잠재적으로 더 높은 수준에서 선언된 클래스의 다른 인스턴스로 분석될 수 있습니다.
다음 예를 고려하세요.
void X() { } class X { public: static X create() { return X(); } };
삽입된 클래스 이름 없이 , create() 함수는 상황에 따라 X 유형의 임시 객체를 생성하거나 X() 함수를 호출할 수 있습니다. 그러나 주입된 클래스 이름을 사용하면 클래스 범위 내에서 이름 조회가 시작되어 X가 항상 현재 클래스를 참조하는지 확인합니다.
템플릿에 주입된 클래스 이름
또 다른 주입된 클래스 이름의 장점은 클래스 템플릿에 있습니다. 템플릿 인수를 지정하지 않고 클래스 템플릿 내에서 Foo를 사용할 수 있어 템플릿의 현재 인스턴스화를 효과적으로 참조할 수 있습니다.
주입된 클래스 이름의 내역
주입된 클래스 이름의 개념은 C 98에 존재했지만 공식 용어는 C 03에서 도입되었습니다. C 98 표준에는 클래스 이름이 다음과 같이 명시되어 있습니다. 선언 범위와 클래스 범위 모두에 삽입됩니다. C 03에서는 이를 "주입된 클래스 이름"이라고 했습니다.
주입된 클래스 이름은 C에서 코드 가독성을 높이고 클래스 정의의 모호성을 해결하는 중요한 목적을 수행합니다. 이는 현대 C 코드베이스에서 광범위하게 사용되는 언어의 필수적인 부분으로 남아 있습니다.
위 내용은 C에 주입된 클래스 이름은 무엇이며 왜 중요한가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!