>백엔드 개발 >C++ >C++에서 typeid 사용법

C++에서 typeid 사용법

下次还敢
下次还敢원래의
2024-05-01 11:42:17749검색

typeid 연산자는 객체의 정적 유형 정보를 가져오고 유형 이름, 크기, 정렬, 기본 클래스, 수정자 및 기타 정보가 포함된 type_info 객체를 반환합니다. name(), before(), base() 등의 메소드를 통해 객체 정보에 접근할 수 있습니다.

C++에서 typeid 사용법

C++에서 typeid 사용

typeid 연산자는 객체의 정적 유형 정보를 얻는 데 사용되는 C++ 키워드입니다. 객체 유형에 대한 다양한 정보가 포함된 type_info 객체를 반환합니다.

사용법:

typeid 연산자 뒤에는 유형 정보를 얻을 표현식을 나타내는 표현식이 옵니다. 표현식은 다음과 같습니다.

  • Variable
  • Expression
  • Function return type
  • Type alias

구문: ​​

<code class="cpp">typeid(expression) // 其中 expression 是要获取其类型信息的表达式</code>

반환 값:

typeid 연산자는 정보가 포함된 type_info 개체를 반환합니다. 다음에 대해 객체 유형 정보:

  • 유형 이름
  • 유형 크기
  • 유형 정렬
  • 유형 파생 정보
  • 유형 기본 정보
  • 유형 수정자 정보
  • 유형 수정 정보

를 통해 type_info 객체에서 액세스할 수 있습니다. 다음 메소드 정보:

  • name(): 유형 이름을 반환합니다.
  • before() 및 after(): 파생 클래스에서 기본 클래스를 가져오고 기본 클래스에서 파생 클래스를 가져옵니다.
  • base(): 반환 직접 기본 클래스
  • 성장() 및 축소(): 유형 이름에서 배열 크기 수정
  • modifier(): 반환 유형 수정자

예:

<code class="cpp">int main() {
  int x;
  std::string s;
  std::cout << typeid(x).name() << std::endl; // 输出:int
  std::cout << typeid(s).name() << std::endl; // 输出:std::__cxx11::basic_string<char>
  return 0;
}</code>

참고:

  • typeid 연산자 정적 유형 정보만 사용할 수 있습니다. 객체에 대한 런타임 유형 정보를 얻는 데 사용할 수 없습니다.
  • typeid 연산자의 결과는 컴파일러와 플랫폼에 따라 다를 수 있습니다.
  • typeid 연산자는 오버헤드가 거의 없지만 자주 사용하면 성능이 저하될 수 있습니다.

위 내용은 C++에서 typeid 사용법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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