type_info 클래스
해당 type_info 클래스는 프로그램 내에서 컴파일러에 의해 생성 된 형식 정보를 설명 합니다.이 클래스의 개체 형식 이름에 대 한 포인터를 효율적으로 저장 됩니다.해당 type_info 클래스를 또한 두 유형이 같은지 비교 또는 정렬 순서에 대 한 적절 한에 인코딩된 값 저장 합니다.인코딩 규칙 및 데이터 정렬 시퀀스 종류를 지정 하지 않은 한 프로그램 간에 다를 수 있습니다.
<typeinfo> 헤더 파일을 사용 하려면 포함 되어야의 type_info 클래스입니다.인터페이스에는 type_info 클래스입니다.
class type_info {
public:
virtual ~type_info();
size_t hash_code() const
_CRTIMP_PURE bool operator==(const type_info& rhs) const;
_CRTIMP_PURE bool operator!=(const type_info& rhs) const;
_CRTIMP_PURE int before(const type_info& rhs) const;
_CRTIMP_PURE const char* name() const;
_CRTIMP_PURE const char* raw_name() const;
};
개체를 인스턴스화할 수 없습니다의 type_info 클래스에 전용 복사 생성자가 없으므로 직접 클래스입니다.(임시)를 생성 하는 유일한 방법은 type_info 개체 수를 사용 하 여 typeid 연산자입니다.대입 연산자 전용 이므로 복사 하거나 클래스의 개체를 할당할 수 없습니다 type_info.
type_info::hash_code 형식의 값 매핑을 위한 적합 한 해시 함수를 정의 않음 인덱스 값의 분포를 합니다.
연산자는 == 및 != 사용 하 여 같음 및 같지 않음 연산에 대 한 상호 비교할 수 있습니다 type_info 개체, 각각.
형식의 정렬 순서 및 상속 관계 사이는 링크가 없습니다.사용은 type_info::before 멤버 함수 형식에는 데이터 정렬 시퀀스를 결정 합니다.되지 않을 수도 type_info::before 다른 프로그램 또는 동일한 프로그램의 다른 실행에 동일한 결과 생성 합니다.이 방식으로 type_info::before 주소-의 유사 (&) 연산자입니다.
Type_info::name 멤버 함수 반환은 const char * 사람이 읽을 수 있는 형식 이름을 표시 하는 null로 끝나는 문자열을.메모리에 캐시 된 및 절대로 직접 할당 해야 합니다.
Type_info::raw_name 멤버 함수 반환은 const char * object 형식의 데코레이팅된 이름을 나타내는 null로 끝나는 문자열에.이름 공간을 절약 하려면 데코레이팅된 형식으로 실제로 저장 됩니다.따라서이 함수 보다 빠르게 수행 됩니다 type_info::name 이름 이름을 해제 해야 하기 때문입니다.반환 된 문자열은 type_info::raw_name 함수 비교 작업에 유용 하지만 읽을 수 없습니다.사용 하는 사람이 읽을 수 있는 문자열이 필요한 경우에 type_info::name 대신 작동 합니다.
다형 클래스에 대 한 경우에만 형식 정보를 생성에서 /GR (런타임 형식 정보 사용) 컴파일러 옵션을 지정 합니다.