面试被问 static_cast<>做了什么?直接懵逼
1 zaimabuzai 2021-04-12 16:52:41 +08:00 挺基础的问题啊……面试前没准备? |
2 borisz 2021-04-12 16:57:25 +08:00 void* 转具体类型, 获取具体类型转 void*. 挺常用的呀 |
![]() | 3 YUCOAT 2021-04-12 17:04:26 +08:00 判断转换前和转换后的类型,如果可以转,就进行类型转换,反之编译报错 |
4 emSaVya 2021-04-12 17:07:44 +08:00 如果平时写 cpp static_cast 应该很常用 |
![]() | 5 ads123 OP @zaimabuzai 问原理 |
![]() | 7 qieqie 2021-04-12 17:20:46 +08:00 使用编译期静态类型信息,进行类型间是否可转换的检查 |
![]() | 8 qieqie 2021-04-12 17:31:59 +08:00 主要可转换的包括: 基本类型中可以互相转换的类型,比如 float double,int enum 简单继承关系的 downcast, 构造函数支持的隐形类型转换, void*和其他指针互转, 引用到右值引用,比如 std::move 的实现 |
![]() | 9 codehz 2021-04-13 07:59:33 +08:00 ![]() |
![]() | 10 leimao 2021-04-13 14:53:30 +08:00 |
11 Lordon 2021-04-18 14:04:16 +08:00 我感觉面试就尽量把知道的都说出来,有点项目慢慢去带节奏往自己擅长的领域引导;不过这种题不是简单的八股文了,平时确实看的不多。 |