C++四个新的类型转换
来源:互联网 发布:成本核算软件sap 编辑:程序博客网 时间:2024/06/14 09:14
C++通过引进四个新的类型转换操作克服了C风格类型转换的缺点,1.static_cast, const_cast, dynamic_cast和reinterpret_cast
static_cast<type> (expression)
int i,j;
double result = static_cast<double>(i/j);
不能用static_cast把struct转换成int类型或者把double类型转换成指针类型,另外,static_cast不能从表达式中去除const属性,需要用const_cast
2.const_cast用于类型转换掉表达式的constnes和volatilenss属性
但是如果试图使用const_cast来完成修改constnes和volatilenss属性之外的事情,类型转换将被拒接。
3.dynamic_cast用于安全的沿着类的继承关系向下进类型转换,也就是将指向基类的指针或者引用转换成指向其他派生类或者其兄弟类的指针或引用。
4.reinterpret_cast最普通而且用途就是在函数指针类型进行转换,其转换结果几乎都是执行期定义的,使用reinterpret_cast代码很难移植。
本文整理自more effecvie C++ ITEM02
0 0
- C++四个新的类型转换
- C++四个新的类型转换操作符
- C++:关于C++的四个类型转换运算符
- C++的四个类型转换
- 类型转换的四个关键字
- Java对象类型转换的四个经验
- C++的四个类型转换运算符
- C++ 四个类型转换符的用法
- C++ 四个类型转换符的用法
- C++四个类型转换的关键字
- Java对象类型转换的四个经验
- 类型转换四个关键字
- (转载)C++的四个类型转换运算符
- C++与类型转换相关的四个关键字及其特点
- C++中四个与类型转换相关的关键字
- C++中四个和类型转换有关的关键字
- C++与类型转换相关的四个关键字及其特点
- C++的四个类型转换符dynamic_cast/const_cast/static_cast/reinterpret_cast
- vi编辑器常用的命令
- linux 命令系列之 mount命令(36)
- 本地生活服务
- Linux服务器上监控网络带宽的18个常用命令
- Android系统自带主题的使用及自定义主题
- C++四个新的类型转换
- 数码相机的相当感光度与数码噪音
- didReceiveMemoryWarning
- 二叉树之层次遍历
- linux 命令系列之 fdisk分区过程(37)
- 20个 Unix/Linux 命令技巧
- 简单数组
- 分析器错误消息: 未能加载类型“ImageAdapter.idk.test”。
- eclispe 导入android或者java项目出现中文乱码