Почему std :: type_info не копируется?Могу ли я хранить его где-нибудь? - PullRequest
15 голосов
/ 16 марта 2011

Класс std::type_info не подлежит копированию.Это затрудняет хранение его в объекте для последующего использования.Что мне делать?

Ответы [ 3 ]

11 голосов
/ 14 ноября 2013

Существует гораздо лучшее решение в C ++ 11. Новая копируемая оболочка с именем std :: type_index. Вы должны включить заголовок "typeindex", чтобы использовать его.

6 голосов
/ 16 марта 2011

Вы можете сохранить указатель на постоянный std::type_info объект.

0 голосов
/ 16 марта 2011

С MSDN и Электронная документация IBM :

Класс type_info описывает информацию о типах, генерируемую в программа компилятором. Объекты этого класса эффективно хранят указатель на имя для типа. Класс type_info также хранит закодированное значение, подходящее для сравнения двух типов на равенство или порядок упорядочения. Правила кодирования и порядок сортировки для типов не определены и могут отличаться между программами.

...