C++中的4种运算符转化以及它们的不同点
来源:互联网 发布:淘宝的安逸猿 编辑:程序博客网 时间:2024/06/03 15:45
4种运算符如下:
(1)const_cast 操作符:用来帮助调用那些应该使用却没有使用const关键字的函数。换句话说,就是供程序设计师在特殊情况下将限制为const成员函数的const定义解除,使其能更改特定属性。
(2)dynamic_cast 操作符:如果启动了支持运行时间类型信息(RTTI),dynamic_cast 可以有助于判断在运行时所指向对象的确切类型。它与typeid运算符有关。可以将一个基类的指针指向许多不同的子类型(派生类),然后将被转型为基础类的对象还原成原来的类。不过,限于对象指针的类型转换,而非对象变量。
(3)reinterpret_cast 操作符:将一个指针转换成其他类型的指针,新类型的指针与旧指针可以毫不相关。通常用于某些非标准的指针数据类型转换,例如将void *转换为 char*。它也可以用在指针和整型数之间的类型转换上。注意:它存在潜在的危险,除非有使用它的充分理由,否则就不要使用它。例如,它能够将一个int*类型的指针转换为float*类型的指针,但是这样就会很容易造成整数数据不能被正确的读取。
(4)static_cast 操作符:它能在相关的对象和指针类型之间进行类型转换。有关的类之间必须通过继承、构造函数或者转换函数发生联系。static_cast操作符还能在数字(原始的)类型之间进行类型转换。通常情况下,static_cast操作符大多用于将数域宽度较大的类型转换为较小的类型。当转换的类型是原始数据类型时,这种操作可以有效地禁止编译器发出警告。
阅读全文
0 0
- C++中的4种运算符转化以及它们的不同点
- C++中的四种运算符转化及不同点:
- C++运算符&和&&|和||的不同点
- C++运算符&和&&|和||的不同点
- C++运算符&和&&|和||的不同点
- <<,>>,>>>运算符以及二进制与十进制的相互转化
- JS的&&和&,||和|运算符两个不同点
- JS的&&和&,||和|运算符两个不同点
- C语言的运算符以及数据类型
- 正则表达式中的符号以及它们所代表的意思
- C++和C的不同点
- Java与C的不同点
- c语言基本运算中的自增运算符和自减运算符以及三目运算符
- [C++] C 与 C++的一些不同点
- 【C#】与C及OC的不同点
- c语言中的运算符的优先级
- c中的运算符的优先级问题
- C语言中的运算符的优先级
- Lynda.com学习体验之Become a Python Programmer
- 实验2 启动程序设计
- lxml 中文乱码解决
- 采用Stanford Parser进行中文语法解析
- android的DrawerLayout使用
- C++中的4种运算符转化以及它们的不同点
- 安卓v7包中的RecyclerView的基本使用
- c++第七次实验
- 数据结构与算法:红黑树的原理分析
- c语言位域
- 杂篇之2-堆篇
- 献给青春的歌 · 致「 腾讯QQ 18 岁」
- 单例模式与多线程
- unbantu切换到root用户