后端岗位面试题更新 2026-08-05

请解释 static_cast 和 dynamic_cast 的区别,并说明各自适用的场景。

中金所技术公司后端开发技术原理C++

考察说明

考察对 C++ 类型转换机制的理解与应用场景区分

回答思路

  1. 准确说明 static_cast 是编译期转换,dynamic_cast 是运行时转换
  2. 说明 dynamic_cast 用于多态类型的安全向下转换,需要基类含虚函数
  3. 举出 static_cast 适用的场景(如基本类型转换、void* 转换)
  4. 说明 dynamic_cast 失败时指针返回 nullptr、引用抛出 bad_cast 异常
本题已收录答题指导

本题附完整参考答案与评分标准

登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。