美文网首页
C++ 四种转型

C++ 四种转型

作者: 平平文文点滴 | 来源:发表于2018-08-28 20:19 被阅读0次

1. const_cast

用途:常量的const 属性是不能修改的,一般是去除指针的常量属性, 再对指针进行间接修改。

用法:const_cast(expression) 通过const_cast运算符,也只能将const type*转换为type*,将const type&转换为type&。

const_cast修饰过的指针与原常量地址相同,为什么改变不了内容-CSDN论坛

const_cast的应用 - CSDN博客

const_cast 的原因: 常量转换为非常量。 原因是,我们可能调用了一个参数不是const的函数,而我们要传进去的实际参数确实const的,但是我们知道这个函数是不会对参数做修改的。于是我们就需要使用const_cast去除const限定,以便函数能够接受这个实际参数。 应该遵从这样的原则:使用const_cast去除const限定的目的绝对不是为了修改它的内容,只是出于无奈

2. static_cast

    2.1 编译器隐式执行的任何类型转化都可以 ; 2.2  当一个较大的算术类型赋值给一个较小类型。 2.3 可以将void* 转化为某一类型指针; 2.4 可以将基类指针指向派生类。 2.5 无法将const 转换为none-const.

3. reinterpret_cast

允许将任何指针转换为任何其他指针类型。 也允许将任何整数类型转换为任何指针类型以及反向转换。

4. dynamic_cast

安全的向下转型  dynamic_cast详解 - CSDN博客

相关文章

  • C++ 重载 Conversion 运算符

    C++ 中类型转换有四种方式: C 风格的转型 C++ 风格的转型 利用构造函数实现内置类型到用户定义类型的转换 ...

  • C++ 四种转型

    1. const_cast 用途:常量的const 属性是不能修改的,一般是去除指针的常量属性, 再对指针进行间接...

  • 条款 27:尽量少做转型动作

    《Effective C++ 中文版 第三版》读书笔记 ** 条款 27:尽量少做转型动作 ** 转型(casts...

  • 问题

    C++ 说一下static关键字的作用 说一下C++和C的区别 说一说c++中四种cast转换 请说一下C/C++...

  • c++四种强制类型转化

    c++四种强制类型转化 https://www.cnblogs.com/Allen-rg/p/6999360.ht...

  • C++类型转换

    C++类型转换 C++为了规范C中的类型转换,加强类型转换的可视性,引入了四种强制类型转换操作符:static_c...

  • 2018-03-30

    让我们继续咯, 今天要总结的是C++中的四种强制类型转换符, 这四种转换符算不上难点, 不过也还是需要我们注意总结...

  • [转]C++强制类型转换运算符(static_cast、rein

    将类型名作为强制类型转换运算符的做法是C语言的老式做法,C++ 为保持兼容而予以保留。 C++ 引入了四种功能不同...

  • 智能指针

    C++里面的智能指针包括auto_ptr, shared_ptr, unique_ptr, weak_ptr四种。...

  • 【C++ Templates(11)】深入模板基础

    参数化声明 C++现在支持四种基本模板:类模板,函数模板,变量模板(variable template),别名模板...

网友评论

      本文标题:C++ 四种转型

      本文链接:https://www.haomeiwen.com/subject/cuofwftx.html