In C++, the T q = dynamic_cast(p); construction performs a runtime cast of a pointer p to some other pointer type T that must
T q = dynamic_cast(p);
p
T
it is usefull when we put the storage back to memory pool but we only keep a pointer to the base class. This case we should figure out the original address.