冥界3大法王 发表于 2023-5-22 22:02

RTTI是啥意思? 不明白。

https://www.52pojie.cn/thread-1406859-1-1.html{:301_974:}

tdb133 发表于 2023-5-22 22:48

RTTI 是“Runtime Type Information”的缩写,意思是:运行时类型信息。它提供了运行时确定对象类型的方法。我欠欠地百度了以下!:lol

冥界3大法王 发表于 2023-5-23 10:33

tdb133 发表于 2023-5-22 22:48
RTTI 是“Runtime Type Information”的缩写,意思是:运行时类型信息。它提供了运行时确定对象类型的方法 ...

那贴子中的插件使用场合呢? 机器人先生?{:301_974:}

aisme 发表于 2023-5-23 11:02

RTTI是英文"Run-Time Type Identification"的缩写,它是一种程序语言特性,允许在运行时判断一个对象的类型。通过RTTI,程序可以动态地获取对象的类型信息、从而实现一些基于类型的操作和处理。
RTTI广泛应用于面向对象程序设计中,在运行时进行类型检查、类型转换、多态调用等操作。比如在C++中,通过RTTI的typeid运算符可以获得类型信息,dynamic_cast可以安全地进行类型转换,virtual关键字可以实现多态调用。

DEATHTOUCH 发表于 2023-5-23 11:48

先整合一下机器人的话,RTTI不止一种,在C++ Primer Plus里说RTTI是Run-Time Type Identification,在Object Pascal Handbook说RTTI是Runtime Type Information。
当然你提到的那个帖子里说的RTTI肯定是C++的,按照C++ Primer Plus的说法一般就是用来判断一个类的指针能否赋值一个地址,或者说就是这个地址的内存有没有一个合法虚函数表能让这个类指针正确调用。比如基类指针可以指向派生类对象,反过来不一定行,具体就可以用RTTI来判断。你如果有C++ Primer Plus(第六版)电子书的话,可以看看页码642页。
如果是Object Pascal或者说Delphi的RTTI的话,那就复杂多了,毕竟英文意思就不一样了。最基本的TObject类就有许多和这个有关的方法了,以及is和as运算符,这些加起来就有许多功能了。而Extended RTTI那就内容太多了,还牵扯到反射,感觉是要对标Java那种了,但是Delphi是编译到二进制的。后面这块我也不是很懂,你可以看看这本Object Pascal Handbook D11的翻译版。

冥界3大法王 发表于 2023-5-24 08:05

DEATHTOUCH 发表于 2023-5-23 11:48
先整合一下机器人的话,RTTI不止一种,在C++ Primer Plus里说RTTI是Run-Time Type Identification,在Objec ...

感谢回复,看后还是头大。
页: [1]
查看完整版本: RTTI是啥意思? 不明白。