When to Use static_cast, dynamic_cast, const_cast, and reinterpret_cast in C++ | CodeTrail