☆─────────────────────────────────────☆
jiangch (呵呵) 于 (Mon Sep 26 15:49:32 2005) 提到:
我比较好奇c++里面如何实现dynamic_cast
比如
B* pb = new B();
void * ptr = pb;
B* p = dynamic_cast(ptr);
具体runtime是如何检查的ptr是指向B类的对象的?
难道C++在每个对象里面都记录了它所属的对象的信息。runtime
environment也必须要有class hierarchy的信息吧。
☆─────────────────────────────────────☆
cdr (可读可写) 于 (Mon Sep 26 16:06:31 2005) 提到:
Stroustrup's book explained it.
dynamic_cast is restricted to polymorphic types,
so the type information can be found with a p