Оператор typeid
в С++ возвращает объект класса std::type_info
, который может дать свое текстовое имя. Тем не менее, мне просто интересно получить уникальный числовой идентификатор для любого полиморфного класса. (уникально в рамках одного запуска программы - не обязательно между прогонами)
На практике я мог просто разыменовать указатель и прочитать содержимое vptr
, но это не было бы ни элегантным, ни портативным. Я предпочитаю переносимый способ.
Можно ли каким-либо образом использовать оператор typeid
для "безопасного" численного идентификатора для класса? Например, могу ли я рассчитывать, что адрес результирующей структуры std::type_info
будет одинаковым для каждого вызова typeid
для данного класса? Или, возможно, указатель name()
?