Пространства имён
Варианты
Действия

typeid operator

Материал из cppreference.com
< cpp‎ | language

 
 
Язык С++
Общие темы
Управление программой
Операторы условного выполнения
Операторы повторения
Операторы перехода
Функции
объявление функции
объявление лямбда-функции
шаблон функции
спецификатор inline
спецификаторы исключений (устарело)
спецификатор noexcept (C++11)
Исключения
Пространства имён
объявление пространства имён
псевдонимы пространства имён
Типы
спецификатор decltype (C++11)
Спецификаторы
cv-спецификаторы
спецификаторы продолжительности хранения
спецификатор constexpr (C++11)
спецификатор auto (C++11)
спецификатор alignas (C++11)
Инициализация
Литералы
Выражения
Утилиты
Типы
typedef-объявление
объявление псевдонима типа (C++11)
атрибуты (C++11)
Приведения типов
неявные преобразования
const_cast-преобразование
static_cast-преобразование
dynamic_cast-преобразование
reinterpret_cast-преобразование
C-подобное и функциональное приведение типов
Выделение памяти
Классы
Особые свойства классовых функций
Специальные функции-члены
Шаблоны
шаблон класса
шаблон функции
специализация шаблона
упакованные параметры (C++11)
Разное
Ассемблерные вставки
 
Запросы информации типа.
Оригинал:
Queries information of a type.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Используется, когда фактический тип базового класса виртуальные должно быть известно.
Оригинал:
Used where the actual type of a виртуальные base class must be known.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

Содержание

[править] Синтаксис

typeid( type ) (1)
typeid( expression ) (2)
Заголовок <typeinfo> должна быть включена перед использованием typeid оператора.
Оригинал:
Header <typeinfo> must be included before using typeid operator.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Обе версии возвращают объект типа const std::type_info&.
Оригинал:
Both versions return an object of type const std::type_info&.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

[править] Объяснение

1)
возвращает тип информации о type. Типа будет точно известно время компиляции, а не выполнения накладных расходов обусловлен.
Оригинал:
returns the type information about the type. The type will be definitely known compile time and no runtime overhead is caused.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
2)
Выражение вычисляется и тип информации, соответствующей полученное значение возвращается. Если expression находится в виртуальном базовом классе, фактический тип класса запрашиваются динамически с некоторыми выполнения накладных расходов. В противном случае фактический тип, безусловно, известно время компиляции, а не выполнения накладных расходов обусловлен.
Оригинал:
expression is evaluated and type information corresponding to the resulting value is returned. If the expression is in a virtual base class, the actual type of the class is queried dynamically with some runtime overhead. Otherwise the actual type is definitely known compile time and no runtime overhead is caused.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

[править] Ключевые слова

typeid

[править] Пример