C++类型转换大汇总

隐式类型转换

可以用单个实参来调用的构造函数定义了从形参类型到该类型的一个隐式转换。首先要单个实参,你可以把构造函数colour的默认实参去掉,也就是定义一个对象必须要两个参数的时候,文件编译不能通过。然后满足这个条件后,系统就知道怎么转换了

要注意的是:只存在一个用户定义的类型转换,但存在多个算术类型转换。

int* ---->  void*  隐式类型转换
void* --->  int*  不能隐式类型转换

基础数据类型之间都可以进行隐式类型转换

C++四种显示类型转换

1.静态类型转换
static_cast<目标类型>(源对象)

用于数值之间的转化, 可以在相关指针在void* 之间转换
在基类和派生类之间进行转换(必须是有继承关系的两个类之间
注意:
1.基本类型能转换 但是不能转换指针类型
2.C语言中能隐式类型转换的,在c++中可用 static_cast<>()进行类型转换。
  因C++编译器在编译检查一般都能通过;
3.如果目标类型和源对象类型在某一个方向上可以进行隐式类型转换,
  那么在两个方向上都可以进行静态类型转换;
  反之,如果在两个方向上都不能进行隐式类型转换,
  则任意一个方向上都不能进行静态类型转换 
#include <iostream>
using namespace std;


int main(){
   
	int x = 111;
	double d = 3.14;

	double ox = static_cast<double>(x);

	int od = static_cast<int>
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HOVL_C++

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值