다음을 통해 공유


서식 및 이름 확인

템플릿 정의에 세 가지 유형의 이름입니다.

  • 서식 파일 자체의 이름과 그 이름을 포함 하 여 이름을 로컬로 선언, 템플릿 정의 안에 선언.

  • 템플릿 정의 외부 포함 범위 이름.

  • 몇 가지 방법으로 템플릿 인수에 종속 된 이름 이라는 종속 이름으로 합니다.

처음 두 사람은 또한 클래스 및 함수 범위에 영향을 주는 반면 이름 확인에 대 한 특별 한 규칙의 템플릿 정의 추가 종속 이름 복잡성을 해야 합니다.템플릿이 인스턴스화될 때까지, 완전히 다른 종류는 서식에 따라 인수를 사용 하지 않을 수 있으므로 컴파일러 이러한 이름은 모르고 때문입니다.이름 관련 된 일반적인 규칙에 따라 한 템플릿 정의에 조회 됩니다.템플릿 인수를 독립 되 고 이러한 이름은 한 번에 모든 템플릿 특수화를 간주 됩니다.종속 이름 템플릿이 인스턴스화될 때까지 검색 되지 않습니다 및 각 전문화에 대해 개별적으로 조회 됩니다.

형식 템플릿 인수에 종속 된 경우 종속 됩니다.특히, 형식 경우 다릅니다.

  • 템플릿 인수 자체.

    T
    
  • 종속 형식을 포함 하 여 자격을 가진 정식된 이름:

    T::myType
    
  • 종속 형식 조건이 지정 되지 않은 부분을 식별 하는 경우 정규화 된 이름:

    N::T
    
  • Const 또는 volatile 형식 기본 형식에 대 한 종속 형식입니다:

    const T
    
  • 포인터, 참조, 배열 또는 함수 포인터 형식 종속 형식에 따라.

    T *, T &, T [10], T (*)()
    
  • 배열 크기가 템플릿 매개 변수를 기반으로 합니다.

    template <int arg> class X {
    int x[arg] ; // dependent type
    }
    
  • 템플릿 매개 변수에서 생성 된 서식 파일 형식:

    T<int>, MyTemplate<T>
    

형식에 대 한 종속성 및 값에 대 한 종속성

이름과 식을 템플릿 매개 변수에 따라 종속 형식 또는 템플릿 매개 변수 형식 매개 변수 또는 값 매개 변수 인지 여부에 따라 종속 값으로 분류 됩니다.종속 값 식으로 초기화 된 정수 계열 또는 열거형 형식으로 또한 템플릿에서 템플릿 인수에 종속 되는 형식으로 선언 된 식별자 값 종속으로 간주 됩니다.

종속 형식 및 종속 값 식은 유형 또는 값에 종속 되는 변수가 포함 된 식입니다.이러한 식의 서식 파일을 사용 하는 매개 변수에 따라 다른 의미를 가질 수 있습니다.

참고 항목

기타 리소스

서식 파일