Почему нельзя завязываться на имя класса в кросс-платформенном коде? При получении имени класса через оператор typeid.
На имя класса в typeid нельзя завязываться ни в каком коде. Спецификация стандартной библиотеки не дает никаких гарантий на поведение метода std::type_info::name(): она не гарантирует наличия какого-либо осмысленного или практически полезного имени класса. Методы std::type_info::name() могут просто возвращать "Вася" для всех типов или вообще возвращать нестабильное значение от запуска к запуску одной и той же программы.
typeid(this).name" на gcc и на msvc дает разный вывод на msvc: "class Foo *" на gcc: "P4Foo"
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники