我正在使用gcc的-fno-rtti标志来编译我的C++而没有运行时类型信息.
假设我没有使用dynamic_cast<>或typeid(),有什么东西可以引导我以后出现问题吗?
我记得在禁用了RTTI和异常的平台上编码,而在其他启用了它们的平台上编码.但是,我不记得在一个能够启用一个并禁用另一个的平台上进行编码.
这两个概念之间是否存在任何依赖关系?换句话说,异常需要RTTI才能运行吗?或者相反?
我有一个C++应用程序,它具有以下类:
class AAAclass BBB 继承自 AAAclass CCC 继承自 AAAclass DDD 继承自 CCC(所有课程都标记为public)
现在我有以下地图:
map <DWORD, AAA*>
Run Code Online (Sandbox Code Playgroud)
我AAA在mapa中找到了一个对象DWORD id,但现在我想知道它的类型是什么AAA:
这将是逻辑:
if(AAA is BBB)
{
...
}
if(AAA is CCC)
{
...
}
if(AAA is DDD)
{
...
}
Run Code Online (Sandbox Code Playgroud)
你知道如何用C++编写它(不添加多态函数getType())吗?