Вопросы по теме 'rtti'
это vs typeof
Какой из этих фрагментов кода быстрее?
if (obj is ClassA) {}
if (obj.GetType() == typeof(ClassA)) {}
Изменить: я знаю, что они не делают то же самое.
120997 просмотров
schedule
14.07.2023
Извлечь параметры шаблона C++
Хотя я сомневаюсь, мне любопытно, можно ли извлечь параметры шаблона примитивного типа из существующего типа, возможно, используя RTTI.
Например:
typedef std::bitset<16> WordSet;
Можно ли извлечь число 16 из приведенного выше кода...
20117 просмотров
schedule
01.07.2023
Насколько дорого стоит RTTI?
Я понимаю, что использование RTTI снижает ресурс, но насколько он велик? Куда бы я ни посмотрел, везде написано, что «RTTI - дорогое удовольствие», но ни один из них на самом деле не дает никаких тестов или количественных данных, касающихся памяти,...
77099 просмотров
schedule
15.07.2022
Метод вызова Delphi на основе информации RTTI
Привет всем, сначала извините за мой плохой английский. Рассмотрим следующее (не фактический код):
IMyInterface = Interface(IInterfce)
procedure Go();
end;
MyClass = class(IMyInterface)
procedure Go();
end;
MyOtherClass = class
published...
4260 просмотров
schedule
23.08.2022
Какой шаблон проектирования / RTTI
Я ищу лучший способ отправки объектов правильному «целевому» объекту.
У меня есть базовый класс команд: Cmd, два подкласса: BufferCmd и StateCmd. Команда «GotoLine» является производной от BufferCmd, а «ChangeCmd» — от StateCmd. BufferCmds...
663 просмотров
schedule
05.01.2023
Какое время жизни памяти указано для typeinfo::name()?
В C++ я могу использовать оператор typeid для получения имени любого полиморфного класса:
const char* name = typeid( CMyClass ).name();
Как долго строка, на которую указывает возвращенный указатель const char* , будет доступна моей...
353 просмотров
schedule
15.09.2022
нет RTTI для неименованных типов данных
Насколько мне известно, компилятор не генерирует RTTI, если тип не указан. например: T = массив [0..1,0..1] целых чисел; В этом случае можно узнать общий размер массива, но невозможно узнать размер каждого измерения.
Это работает, только если я...
543 просмотров
schedule
04.01.2023
Delphi: предотвращение появления имен методов в исполняемых файлах
Я пишу класс для обеспечения безопасности в моем исполняемом файле (проверка серийных номеров, проверка даты испытания и т. Д.). После компиляции исполняемого файла (даже в сборке Release, когда все отладка и генерация RTTI отключены), когда я...
1129 просмотров
schedule
28.05.2022
сравнение типов во время выполнения
Мне нужно найти тип объекта, на который указывает указатель. Код приведен ниже.
//pWindow is pointer to either base Window object or derived Window objects like //Window_Derived.
const char* windowName = typeid(*pWindow).name();...
2997 просмотров
schedule
27.12.2022
Java isInstance против оператора instanceOf
Вся эта штука с дженериками сбивает меня с толку, и тем более RTT.
Специфика? Ну вот суть:
enum QueryHelper {
query1,
query2;
static <T> QueryHelper getQueryHelper (Class<T> expectedReturn) {
if (expectedReturn.isInstance...
48648 просмотров
schedule
21.02.2023
Delphi - Наследование визуальной формы - Определение базового класса компонентов
Я использую VFI (наследование визуальной формы), и мне нужно проверить, принадлежит ли компонент созданной формы к классу формы или к суперклассу формы.
Любые идеи ?
unit1
TFormStatus = class(TForm)
cpPanel: TPanel;
lblStatus:...
1065 просмотров
schedule
20.01.2023
Как лучше всего выставить экземпляр класса в DWScript
Я собираю возможности встроенного скрипта, используя превосходный Pascal DWScript . Я также добавил свое собственное определение класса на стороне Delphi (TDemo) в DWScript, используя:
dwsUnit.ExposeRTTI( TDemo.ClassInfo )
Это просто...
851 просмотров
schedule
15.07.2023
вызов метода универсального списка с RTTI
Я не знаю, как это сделать:
Имея эти объекты:
TMyObject = class;
TMyList<T: TMyObject> = class(TList<T>)
public
function Execute(aParam1, aParam2:string):boolean;
end;
TMyOtherObject = class(TMyObject)
TMyOtherList =...
570 просмотров
schedule
20.12.2023
Что делают различные записи типов элементов в TypeData для динамических массивов?
Поле TTypeData, содержащее RTTI для разных типов данных, имеет три разных значения типа элемента для динамического массива:
elType: PPTypeInfo; // nil if type does not require cleanup
elType2: PPTypeInfo; // independent of cleanup...
281 просмотров
schedule
02.05.2022
Rtti не работает с универсальными типами, используемыми в качестве полей класса.
У меня были проблемы с использованием rtti для получения информации о полях класса универсального типа. После некоторого поиска в Google я нашел запись в QC , описывающую проблема. Мой вопрос в том, знает ли кто-нибудь обходной путь, или если это...
1390 просмотров
schedule
19.01.2023
Как скопировать свойства одного экземпляра класса в другой экземпляр того же класса?
Я хочу дублировать класс. Достаточно скопировать все свойства этого класса. Это возможно:
перебирать все свойства класса?
присвоить каждое свойство другому свойству, например a.prop := b.prop ?
Геттеры и сеттеры должны заботиться о...
4950 просмотров
schedule
25.05.2022
Может ли RTTI запрашивать типы из кода проекта во время разработки?
Я хотел бы использовать RTTI для проверки типов, содержащихся в исходных файлах проекта, во время разработки, а не во время выполнения.
Насколько мне известно, это не поддерживается, но обсуждение в комментариях этот вопрос указывает, что это...
599 просмотров
schedule
23.10.2023
Разрешено ли объекту законно изменять свой тип во время своего существования в C++?
У меня есть этот код:
class Class {
public:
virtual void first() {};
virtual void second() {};
};
Class* object = new Class();
object->first();
object->second();
delete object;
что я компилирую с помощью Visual C++ 10 с /O2 и...
308 просмотров
schedule
11.03.2022
Профилирование времени жизни объекта C++
Класс ObjectInfo — это диагностический класс, предназначенный для отслеживания статистических данных, таких как время жизни и количество объектов. Конкретный класс наследуется от ObjectInfo, как показано. Затем член этого конкретного класса...
883 просмотров
schedule
19.05.2023
RTTI через границы модулей в Itanium и MSVC ABI
Я читаю Itanium ABI , в котором говорится, что
Предполагается, что два указателя type_info указывают на эквивалентные описания типов тогда и только тогда, когда указатели равны. Реализация должна удовлетворять этому ограничению, например. с...
370 просмотров
schedule
04.12.2022