美文网首页
C++转型操作符

C++转型操作符

作者: 凉夜lrs | 来源:发表于2020-12-21 14:38 被阅读0次

旧式的C转型的缺点:

  1. 意图不明确。几乎允许将任何类型转换为任何其他类型,例如,改变对象的常量性或者对象的类型。
  2. 难以辨识。语法结构由一对小括号+标识符组成,这种形式在C++的任何地方都可能被使用,也就是说,无法判断是否程序中有转型操作。

C++的转型操作符

  1. static_cast:基本拥有与C旧式转型相同的作用。static_cast<type>(expression)
  2. const_cast:去掉常量属性
  3. dynamic_cast:将基类对象的指针指向不同的派生类,如果转型失败,会以一个null指针(指针)或exception(reference)表现出来;第二个用途是找出被某对象占用的内存的起点(不懂,记一下)。
  4. reinterpret_cast:转换函数指针类型。例如将void转换为char。它存在潜在的危险,结果几乎总是和编译平台息息相关,除非走投无路,否则不要使用。

相关文章

  • C++转型操作符

    旧式的C转型的缺点: 几乎允许将任何类型转换为任何其他类型,例如,改变对象的常量性或者对象的类型。 难以辨识,语法...

  • Kotlin --- Operator Overloading

    简述 Kotlin的操作符重载与C++类似,虽然没有C++那么强大,但是仍然可以实现Kotlin的操作符重载。 操...

  • C++学习笔记(七)操作符重载(上)

    1、基本操作符重载 操作符重载指的是将C++提供的操作符进行重新定义,使之满足我们所需要的一些功能。 在C++中可...

  • Geekband C++ 第五周

    概述 C++模板简介 函数模板 C++类模板 操作符重载 泛型编程 容器

  • [C++进阶]最好使用C++转型操作符

    static_cast 基本上拥有与C旧式转型相同的威力与意义,以及相同的限制。不能够移除表达式的常量性(cons...

  • C++中的操作符重载

    操作符重载 C++中的重载能够扩展操作符的功能 操作符的重载以函数的方式进行 本质:用特殊形式的函数扩展操作符的功...

  • c++_动态对象创建

    一.c语言 c语言使用malloc 来创建堆对象 二.c++ new操作符 delete操作符 如果new []...

  • C++ 重载 Conversion 运算符

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

  • 《C++ Primer Plus》第11章学习笔记

    内容思维导图 1. 操作符重载 操作符重载(Operator overloading)是一种形式的C++多态。第8...

  • 位操作

    c++中位操作操作符 这些位操作符只能用于整形的操作,其他会编译报错。位操作符的运算优先级比较低,因为尽量使用括号...

网友评论

      本文标题:C++转型操作符

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