Вопросы по теме 'typeinfo'

Название шаблона C ++ довольно печатное
Мне нужно напечатать имена шаблонов с отступом для целей отладки. Например, вместо однострочного имени я хотел бы сделать такой отступ для имени: boost::phoenix::actor< boost::phoenix::composite< boost::phoenix::less_eval,...
1542 просмотров
schedule 18.07.2022

C ++: type_info для различения типов
Я знаю, что компиляторы имеют большую свободу в реализации поведения std::type_info функций. Я подумываю использовать его для сравнения типов объектов, поэтому хочу быть уверенным, что: std::type_info::name должен возвращать две разные...
18295 просмотров
schedule 21.12.2022

как создать контейнер, который принимает по одному объекту каждого вида?
Я попытался создать контейнер для возможных метаданных, которые можно прикрепить к моим объектам. Я могу гарантировать, что к моему классу будет прикреплено не более одного объекта каждого типа, но нет ограничений на присоединение объектов разных...
1218 просмотров
schedule 15.03.2022

Утечки памяти после использования typeinfo::name()
У меня есть программа, в которой, отчасти для информационного логирования, я вывожу имена некоторых классов по мере их использования (конкретно я добавляю в лог запись типа Messages::CSomeClass transmitted to 127.0.0.1 ). Я делаю это с помощью кода,...
1978 просмотров
schedule 07.08.2022

Существует ли переносимая оболочка для С++ type_info, которая стандартизирует формат строки имени типа?
Формат вывода type_info::name() зависит от реализации. namespace N { struct A; } const N::A *a; typeid(a).name(); // returns e.g. "const struct N::A" but compiler-specific Кто-нибудь написал оболочку, которая возвращает надежную,...
1314 просмотров
schedule 30.12.2022

gdb: показать typeinfo некоторых данных
По сути, я хочу получить typeid(*this).name() , то есть реальный тип this . Я хочу получить это в GDB (без изменения исходного кода). Я попробовал print typeid(*this) , но он говорит, что typeid неизвестен (потому что я не включил его в...
43289 просмотров
schedule 20.07.2023

Рекурсивно проверить суперкласс type_info
Есть ли способ проверить, что такое type_info суперкласса? В моей системе объекты идентифицируются набором битов. Который идентифицируется хэш-кодом type_info. Я хотел бы, чтобы некоторые из этих типов включали полиморфизм в том смысле, что моя...
290 просмотров
schedule 22.11.2022

Странный вывод std::typeid::name()
Я использовал typeid для получения имен типов std::vector::size_type и класса A нулевого размера со следующим кодом ( cppreference ): #include<iostream> #include <vector> #include <typeinfo> using namespace std; class A {};...
6873 просмотров
schedule 11.09.2022

Почему Apple Clang (из Xcode 5) делает typeinfos private_extern для arm64?
Если вы скомпилируете этот файл p3.cxx: class foobarclass { public: int i0; }; void otherfun(void); void mumble(void); void fun(void) { try { otherfun(); } catch(foobarclass &e) { mumble(); } } Как это: xcrun...
638 просмотров
schedule 26.07.2023

Как получить типы в пакете параметров С++ 11?
Я не уверен, что сформулировал вопрос наиболее эффективным образом, но я только сейчас начинаю использовать С++ 11, и у меня возникают проблемы с применением его новых функций к рассматриваемой проблеме. У меня есть следующая условная функция:...
785 просмотров

Как я могу вызвать перегруженную функцию на основе enum typeinfo?
Я хочу нарисовать некоторые части темы для нескольких TImages. В моем коде ниже GetElementDetails ожидает определенное значение перечисления. У меня есть PTypeInfo для типа перечисления, но я не знаю, как преобразовать i в тип перечисления....
200 просмотров
schedule 05.02.2024

Может ли кто-нибудь объяснить это за пределами доступа к массиву в стандартной библиотеке MSVC++?
В Visual Studio реализация type_info, обычно расположенная в C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\typeinfo: class type_info { /* ... */ _CRTIMP_PURE bool __CLR_OR_THIS_CALL operator==(const type_info& _Rhs)...
109 просмотров
schedule 11.04.2022

boost::asio запускает sigsegv в std::type_info::operator==
Итак, у меня есть приложение, использующее boost::asio. К сожалению, из-за сложности проекта я не могу поделиться его исходным кодом :( Приложение использует библиотеку asio от boost для создания некоторых веб-сервисов. Однако при попытке его...
417 просмотров

С++, что может сделать type_info::hash_code различающимся для двух (предположительно) одинаковых объектов
После попытки отладить неудачное динамическое преобразование вниз, я в конце концов обнаружил, что причина, вероятно, заключается в следующем: type_info::hash_code для типа, к которому он приводится, отличается в зависимости от того, где в коде он...
253 просмотров
schedule 28.08.2022

С++ (ATL) ITypeInfo.GetContainingTypeLib завершается с ошибкой при передаче живого экземпляра класса VBA
Итак, я задал этот вопрос в контексте С#, и у меня есть -cl">установить награду там . Я написал эквивалентный фрагмент кода C++ (для размещения в проекте ATL DLL), чтобы использовать опыт разработчиков C++. IDispatch имеет метод GetTypeInfo(),...
155 просмотров
schedule 29.01.2023