没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/16025907/bg1.jpg)
目录
隐含类型转换
类的隐含转换
函数调用隐式转换与关键字
赋值隐式转换与关键字
类型转换成员函数与关键字
显示转换
基类与派生类之间的转换
不安全”转换
类型校正
![](https://csdnimg.cn/release/download_crawler_static/16025907/bg2.jpg)
隐含类型转换
将值复制到兼容类型时,会自动执行隐式转换。例如:
!
"!
" !
此处,不需要任何显式运算符,将 的值从 提升为 。这称为标准转换。标准转换
会影响基本数据类型,并允许在数值类型(从 到 , 到 #,$" 到 )
之间,到 " 之间或从 " 进行一些转换以及一些指针转换。
从一些较小的整数类型转换为 或从 # 转换为 $" 称为提升,并且可以保证
在目标类型中产生完全相同的值。算术类型之间的其他转换可能并不总是能够精确
地表示相同的值:
如果将负整数值转换为无符号类型,则结果值对应于其 的补码按位表示形式
(即% 变为该类型可表示的最大值,% 表示第二个最大值,)。
从&到布尔的转换将 ' 等同于零(对于数字类型)和 $ 指针(对于指针类型);
$ 等效于所有其他值,并转换为 的等效值。
如果从浮点类型到整数类型的转换,则该值将被截断(小数部分将被删除)。如果
结果超出类型可表示的值的范围,则转换将导致未定义的行为。
否则,如果转换是在相同类型的数字类型之间进行(整数到整数或浮点到浮点),
则转换是有效的,但是该值是特定于实现的(并且可能不可移植)。
这些转换中的某些转换可能意味着精度损失,编译器可以通过警告来发出信号。可以通过
显式转换来避免此警告。
对于非基本类型,数组和函数隐式转换为指针,并且指针通常允许进行以下转换:
空指针可以转换为任何类型的指针
任何类型的指针都可以转换为 ( 指针。
指针转换:可以将指向派生类的指针转换为可访问且明确的基类的指针,而无需修
改其 或 ( 限定条件。
类的隐含转换
在类的世界中,隐式转换可以通过三个成员函数来控制:
单参数构造函数:允许从特定类型进行隐式转换以初始化对象。
赋值运算符:允许从特定类型的赋值进行隐式转换。
类型转换运算符:允许隐式转换为特定类型。
)*
+!
![](https://csdnimg.cn/release/download_crawler_static/16025907/bg3.jpg)
,*
$"-
&&(').$/-
,.)0/*
+
&&(').1/-
,0 .)0/*
$2!
+
&&().%/
)./*
$)./!
+
+!
./
*
)'!
," '! &&$
" '! &&1
' "! &&%
$!
+
类型转换运算符使用特定的语法:它使用 关键字,后跟目标类型和空括号。
请注意,返回类型是目标类型,因此,未在 关键字之前指定。
函数调用隐式转换与关键字 explicit
在函数调用中,344允许对每个参数进行一次隐式转换。对于类而言,这可能会有些问题,
因为它并非始终是预期的。例如,如果我们在最后一个示例中添加以下函数:
('.,1/*
+
该函数采用类型 , 的参数,但是也可以使用类型 ) 的对象作为参数来调用它:
'.'/!
这可能是预期的,也可能不是预期的。但是,无论如何,可以通过使用显式关键字标记受
影响的构造函数,来防止这种情况:
5$67
$1!
)*
+!
剩余13页未读,继续阅读
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![avatar](https://profile-avatar.csdnimg.cn/default.jpg!1)
IT_Beijing_BIT
- 粉丝: 8
- 资源: 3
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)
评论0