c++ - RTTI 是指动态绑定(bind)吗?

标签 c++ rtti dynamic-binding

在 C++ 中,运行时类型信息 (RTTI) 是否意味着动态绑定(bind)?

最佳答案

RTTI 表示在编译器输出中包含附加信息,以便运行时代码可以了解有关源代码类和类型的详细信息,这些信息通常会在编译过程中被丢弃。

例如,机器码不需要知道函数名就可以调用函数——在机器码中调用函数只需要知道目标函数的地址。

另一个例子:编译后的机器代码在运行时不需要知道类类型的名称。但是如果你想构建一个自动序列化库,你可能想知道每个类的文本名称,这样你就可以将它写入输出流。类名是 RTTI。

如果动态绑定(bind)是指在运行时通过字符串名称查找和调用编译时未知的方法或属性的能力,那么是的,RTTI 是一种可用于此目的的资源。

关于c++ - RTTI 是指动态绑定(bind)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5062220/

相关文章:

java - JNA 从 DLL 调用 C++ 对象 - java.lang.IllegalArgumentException : Structure class has unknown or zero size

C++:编译器提示构造函数中的变量初始化

C++:模拟 RTTI

delphi - 如何在类构造函数中访问 RTTI?

java - case : static binding? 动态绑定(bind)?

c++ - 对象周围的堆栈已损坏

Java isInstance 与 instanceOf 运算符

java - 多态性和动态绑定(bind)

ios - 为什么两个同名的方法(属于不同的类)在使用动态类型和动态绑定(bind)时应该具有相同的原型(prototype)?

c++ - 在 C++ 中使用堆栈模板类解析括号