Small explanatory question "Cast" in C++

Cast here will check a class id for object and will compare a class id of the template class argument. If they have a match (i mean if one inherits another) - then a static_cast will be performed. It is like a dynamic_cast in c++. But unreal engine works without rtti and that is why it has a custom implementation.
google dynamic_cast and rtti for more information.