V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ads123
V2EX  ›  C++

C++中 static_cast<>做了什么

  •  
  •   ads123 · 2021-04-12 16:29:18 +08:00 · 3003 次点击
    这是一个创建于 1340 天前的主题,其中的信息可能已经有所发展或是发生改变。

    面试被问 static_cast<>做了什么?直接懵逼

    11 条回复    2021-04-18 14:04:16 +08:00
    zaimabuzai
        1
    zaimabuzai  
       2021-04-12 16:52:41 +08:00
    挺基础的问题啊……面试前没准备?
    borisz
        2
    borisz  
       2021-04-12 16:57:25 +08:00
    void* 转具体类型, 获取具体类型转 void*. 挺常用的呀
    YUCOAT
        3
    YUCOAT  
       2021-04-12 17:04:26 +08:00
    判断转换前和转换后的类型,如果可以转,就进行类型转换,反之编译报错
    emSaVya
        4
    emSaVya  
       2021-04-12 17:07:44 +08:00
    如果平时写 cpp static_cast 应该很常用
    ads123
        5
    ads123  
    OP
       2021-04-12 17:18:21 +08:00
    @zaimabuzai 问原理
    ads123
        6
    ads123  
    OP
       2021-04-12 17:18:58 +08:00
    @emSaVya 天天用,问我做了什么,我都不知道怎么答
    qieqie
        7
    qieqie  
       2021-04-12 17:20:46 +08:00
    使用编译期静态类型信息,进行类型间是否可转换的检查
    qieqie
        8
    qieqie  
       2021-04-12 17:31:59 +08:00
    主要可转换的包括:
    基本类型中可以互相转换的类型,比如 float double,int enum
    简单继承关系的 downcast,
    构造函数支持的隐形类型转换,
    void*和其他指针互转,
    引用到右值引用,比如 std::move 的实现
    codehz
        9
    codehz  
       2021-04-13 07:59:33 +08:00   ❤️ 2
    leimao
        10
    leimao  
       2021-04-13 14:53:30 +08:00
    Lordon
        11
    Lordon  
       2021-04-18 14:04:16 +08:00
    我感觉面试就尽量把知道的都说出来,有点项目慢慢去带节奏往自己擅长的领域引导;不过这种题不是简单的八股文了,平时确实看的不多。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3089 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 10:49 · PVG 18:49 · LAX 02:49 · JFK 05:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.