>백엔드 개발 >C++ >주입된 클래스 이름은 무엇이며 그 용도는 어떻게 발전해 왔나요?

주입된 클래스 이름은 무엇이며 그 용도는 어떻게 발전해 왔나요?

Linda Hamilton
Linda Hamilton원래의
2024-12-23 19:03:15221검색

What is an Injected Class Name and How Has Its Use Evolved?

주입된 클래스 이름: 목적과 역사적 진화

주입된 클래스 이름의 개념은 자체 클래스 내에서 클래스를 암시적으로 선언하는 것을 의미합니다. 범위. 이를 통해 바깥쪽 범위에 동일한 이름을 가진 다른 엔터티가 있는 경우에도 클래스 본문 내에서 클래스 이름을 사용하여 클래스 자체를 참조할 수 있습니다.

주입된 클래스 이름의 목적

주입된 클래스 이름은 여러 가지 실용적인 용도로 사용됩니다. 포함:

  • 모호성 해결: 바깥쪽 범위에서 동일한 이름을 가진 클래스와 다른 엔터티에 대한 참조를 명확하게 합니다. 이는 클래스와 동일한 이름을 공유하는 클래스 멤버 및 멤버 함수에 특히 중요합니다.
  • 클래스 템플릿의 편의성: 이를 통해 템플릿 내에서 클래스 이름을 지정하지 않고도 클래스 이름을 사용할 수 있습니다. 템플릿 인수 목록, 코드 단순화.

역사적 소개

주입된 클래스 이름의 개념은 C 이전에도 어떤 형태로든 존재했습니다. ARM(Ada 참조 매뉴얼)에서는 클래스 지정자 내에서 클래스 이름을 사용하여 클래스 자체를 참조할 수 있다고 명시했습니다.

C 98에서는 주입된 클래스 이름이 클래스 범위에 암시적으로 삽입되었습니다. 그러나 "injected-class-name"이라는 용어는 DR 147과 함께 C 03에 도입되었습니다.

사용 사례 예시

다음 클래스를 고려하세요.

class X {
public:
  static X create() { return X(); }
};

주입된 클래스 이름이 없으면 create()가 임시 X 개체를 생성하는지 호출하는지 확실하지 않습니다. 함수 X. 삽입된 클래스 이름은 X 본문 내에서 X라는 이름이 항상 클래스 자체를 참조하도록 보장하여 create()의 의도를 명확하게 합니다.

위 내용은 주입된 클래스 이름은 무엇이며 그 용도는 어떻게 발전해 왔나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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