类型转换
来源:互联网 发布:hadoop hdfs 端口号 编辑:程序博客网 时间:2024/04/29 10:16
2.6.1 隐式转换类型
char->short->int->double->long double
^
|
float
在以下四种情况,都会发生隐式转换类型
1.多种数据类型的算数表达式。转换原则是窄数据类型向宽数据类型转换。
2.将一种类型的数据类型赋值给另一种类型的变量,会发生隐式转换类型,把赋值句右边的表达式转换成左边的变量类型。
3.在函数调用中,若实参表达式与形式参数的类型不相符,则把实参的类型转换成形参的类型;在函数返回时,以函数的返回值类型为准。
2.6.2 显式转换类型
把一种数据类型转强制转换成另一中数据类型就称为显示转换,也称为强制转换。 形式如下 (type)exp 或者 type (exp)
其中,type是目标类型函数,exp是要进行的类型转换的表达式,第一种在c++和c中都可以用,但是第二种,只能在c++中使用。
在c++标准中,还有4个强制类型转换的运算符:static_cast,dynamic_cast,const_cast,reinterpret_cast.用法如下:
X-cast (exp)
其中,X-cast代表强制转换类型,可以是上面四个中的任意一种,type是强制转换之后的类型,exp是要转换类型的表达式。
static-cast是静态强制转换类型,能够实现任何标准类型之间的转换,如从整型到枚举型,从浮点型到整型的转换,实际上,只要是隐式转换可以进行的转换,static-cast都可以实现,
例如:
#include <iostream>using namespace std;int main(){ char p='d'; int x=static_cast<int>(p); double y=static_cast<double>(54); cout<<x<<" "<<y;}
输出 100 54
const-cast是常量强制转换类型,用于强制转换const或这volatile(可变)的数据,它转换前后的数据类型必须相同,主要用来在运算时暂时删除数据的const限制。
- 类型转换
- 类型转换
- 类型转换
- 类型转换
- 类型转换
- 类型转换
- 类型转换
- 类型转换
- 类型转换
- 类型转换
- 类型转换
- 类型转换
- 类型转换
- 类型转换
- 类型转换
- 类型转换
- 类型转换
- 类型转换
- Mvc动态注册HttpModule详解
- PAT团体程序设计天梯赛练习题GPLT1~10
- __readfsdword未定义
- ORCALE 树形递归查询树并且排序
- git命令之git stash(暂时保留工作进度)
- 类型转换
- Myeclipse中,Tomcat运行时无法加载maven中的依赖
- Python3网络爬虫(三):urllib.error异常
- # oracle笔记二之sqlplus基本命令#
- CentOS下安装JDK的三种方法
- 51nod 1307 绳子与重物 【二分+dfs】
- BZOJ 1012: [JSOI2008]最大数maxnumber 单调队列/线段树
- MySQL数据库基础(四)(子查询与链接)(持续更新中)
- Java两个List比较增加、减少的实现