显式类型标识符与 RTTI
与 RTTI 相比,使用自己的类型标识符有什么优势吗? 例如 class A { virtual int mytype() = 0; }; class B : public A { int mytype() {return 1;} }…
我的困惑:Java 中的反射
我刚刚读完《Thinking in Java》中有关类型信息和反射的章节。虽然 instanceof 对我来说似乎很自然,但一些反射的例子让我感到困惑。我想知道Java项目…
错误的 RTTI 可见性信息和缺失的属性
我的应用程序中本质上有以下类 TCategory = class(TAbstractionTreeItem) private fName: String; fParent: Integer; fComment: String; public proce…
通过 typeid 的类的数字唯一标识符
C++ 中的 typeid 运算符返回 std::type_info 类的对象,该对象可以生成其文本名称。但是,我只是想为任何多态类获取唯一的数字标识符。 (在单个程序…
模板、多态性、抽象基类指针和运行时转换
我想在游戏中实现 Memento 模式,以实现检查点。 我有游戏中的 GameObject 指针列表。 GameObject 是一个抽象类,由 StaticObject、AnimatedObject 等…
在扩展模板的类中初始化静态常量
考虑以下伪代码: class Foo { public: virtual int getID() const = 0; } template class Blah : public Foo { public: T data; static const int ID…
用于枚举的 Delphi RTTI SetValue
如何使用 RTTI 设置枚举字段的值? 即 type TCPIFileStatus= (fsUnknown, fsProcessed); TTest = class FStatus: TCPIFileStatus; end; ... var Data:…
如何检索 C++ RTTI 以外的类信息
这是三个类, class ClassA{}; class ClassB:public ClassA{}; class ClassC:public ClassB{}; ClassC cobject; 我想知道对象的“类名称”(即ClassC…
delphi2010 rtti的遍历记录
type myrec = record id:dWord; name:array[0..31] of WideChar; three:dword; count:dword; ShuXing:Single; ShuXing2:dword; ShuXing3:dWORD; end; …
为什么这种 RTTI 优化会使速度变慢?
我有一个在循环中重复调用的操作。使用 TRttiField: if (field.name = '') or (field.Name[1] <> 'F') then continue; 分析表明我因此在 UStrAsg 和 …
如何使用 type_info 进行类型转换?
我存储了一个指向 type_info 对象的指针。 int MyVariable = 123; const std::type_info* Datatype = &typeid(MyVariable); 我如何使用它来将另一个变…
虚拟接口Dtor &&动态_Cast
我试图从接口向下转换为派生类,但我的虚拟 dtor 杀死了它? class IFOO { public: virtual ~IFOO(){}; virtual size_t index() PURE; }; class FOO :…
Delphi - 视觉表单继承 - 组件基类检测
我正在使用 VFI(视觉表单继承),我需要检查实例化表单的组件是否属于表单类或表单超类。 有什么想法吗? unit1 TFormStatus = class(TForm) cpPanel…
RTTI 动态数组 TValue Delphi 2010
我有一个问题。我是来自 Delphi 2010 的运行时类型信息的新手。我需要将动态数组的长度设置为 TValue。你可以看到代码。 Type TMyArray = array of in…
确定派生类是否重写基类的方法
class B { virtual int foo(); }; class D : public B { virtual int foo() { cout<<"D\n"; } }; int B::foo() { /* how do i tell if this->foo() is…