当前位置: 首页 > 面试题库 >

说一说c++中四种cast转换 ?

宓茂才
2023-03-14
本文向大家介绍说一说c++中四种cast转换 ?相关面试题,主要包含被问及说一说c++中四种cast转换 ?时的应答技巧和注意事项,需要的朋友参考一下

C++中四种类型转换是:static_cast, dynamic_cast, const_cast, reinterpret_cast

1、const_cast

用于将const变量转为非const

2、static_cast

用于各种隐式转换,比如非const转const,void*转指针等, static_cast能用于多态向上转化,如果向下转能成功但是不安全,结果未知;

3、dynamic_cast

用于动态类型转换。只能用于含有虚函数的类,用于类层次间的向上和向下转化。只能转指针或引用。向下转化时,如果是非法的对于指针返回NULL,对于引用抛异常。要深入了解内部转换的原理

向上转换:指的是子类向基类的转换

向下转换:指的是基类向子类的转换

它通过判断在执行到该语句的时候变量的运行时类型和要转换的类型是否相同来判断是否能够进行向下转换。

4、reinterpret_cast

几乎什么都可以转,比如将int转指针,可能会出问题,尽量少用;

5、为什么不使用C的强制转换?

C的强制转换表面上看起来功能强大什么都能转,但是转化不够明确,不能进行错误检查,容易出错。

 类似资料:
  • 本文向大家介绍请你说一说C++两种map?相关面试题,主要包含被问及请你说一说C++两种map?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: unordered_map(哈希表)和map(红黑树)

  • 本文向大家介绍请你说一说mysql的四种隔离状态相关面试题,主要包含被问及请你说一说mysql的四种隔离状态时的应答技巧和注意事项,需要的朋友参考一下 参考回答: Mysql主要包含四种隔离状态: 事务隔离级别 脏读 不可重复读 幻读 读未提交(read-uncommitted) 是 是 是 不可重复读(read-committed) 否 是 是 可重复读(repeatable-read) 否 否

  • 本文向大家介绍请你说一说四次挥手相关面试题,主要包含被问及请你说一说四次挥手时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 1.客户端发送syn0给服务器 2.服务器收到syn0,回复ack(syn0+1)  

  • 本文向大家介绍请你来说一说C++中的隐式类型转换?相关面试题,主要包含被问及请你来说一说C++中的隐式类型转换?时的应答技巧和注意事项,需要的朋友参考一下 首先,对于内置类型,低精度的变量给高精度变量赋值会发生隐式类型转换,其次,对于只存在单个参数的构造函数的对象构造来说,函数调用可以直接使用该参数传入,编译器会自动调用其构造函数生成临时对象。

  • 本文向大家介绍说一说C++你用到的锁?相关面试题,主要包含被问及说一说C++你用到的锁?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 生产者消费者问题利用互斥锁和条件变量可以很容易解决,条件变量这里起到了替代信号量的作用

  • 本文向大家介绍说一说你在工作中最讨厌哪种人?相关面试题,主要包含被问及说一说你在工作中最讨厌哪种人?时的应答技巧和注意事项,需要的朋友参考一下 总结起来就是:不负责的人。 表现为:没有时间观念、拖延;不保证质量,敷衍塞责;出问题了习惯性推卸责任;遇到问题就放弃,不愿意想办法解决问题...