C++中的四种强制类型转换是什么
发表于:2024-11-14 作者:千家信息网编辑
千家信息网最后更新 2024年11月14日,本文小编为大家详细介绍"C++中的四种强制类型转换是什么",内容详细,步骤清晰,细节处理妥当,希望这篇"C++中的四种强制类型转换是什么"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习
千家信息网最后更新 2024年11月14日C++中的四种强制类型转换是什么
本文小编为大家详细介绍"C++中的四种强制类型转换是什么",内容详细,步骤清晰,细节处理妥当,希望这篇"C++中的四种强制类型转换是什么"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
在了解c++的强制类形转换的时候,先看看在c语言中是怎么进行强制类形转换的。
C语言中的强制类形转换分为两种
隐式类型转换
显示类型转换
int main(){ int a = 97; char ch = a; // 隐式类型转换 int b = (int)ch; // 显示类型转换 cout << "a = " << a << endl; cout << "ch = " << ch << endl; cout << "b = " << b << endl; int num = 10; int* p = # // int ret = p; Error,因为p的类型和ret的类型不一致,所以隐式转换失败 int ret = (int)p; cout << "num = " << num << endl; cout << "&num = " << &num << endl; cout << "p = " << p << endl; cout << "ret = " << ret << endl; return 0;}
我们看出来,在相关数据类型之间的转换是可以隐式转换的,如果是俩个不相关的数据类型之间的转换,必须是显式类型转换。
C++中的强制类形转换
C++中有四种强制类型转换
static_cast
reinterpret_cast
const_cast
dynamic_cast
static_cast静态转换,任何标准转换都可以用它,但是不能用于两个不相关的类型转换,其实就是有点像隐式类型转换了。
int main(){ int i = 97; char ch = static_cast(i); cout << "i = " << i << endl; cout << "ch = " << ch << endl; return 0;}
reinterpret_cast
reinterpret_cast:将一种类型转换为另外一种类型,但是如果是相关类型则不可以转换,会报错,无效类型转换。
int main(){ int i = 97; // char ch = reinterpret_cast(i); // Error 这样的转换类型属于无效转换类型 int* p = reinterpret_cast (i); cout << "i = " << i << endl; cout << "&i = " << &i << endl; cout << "p = " << p << endl; return 0;}
这个的输出结果就很意思,我们可以观察到,p 是我们定义的一个 int* 变量,但是我们使用reintrtpret_cast的时候并不是把 i 变量的地址写了进去,而是将 i 变量的值,用 int* 类型的格式存储了起来,也就是说 int* p 的 p 存放的不是 i 的地址,而是,变量 i 的值,只不过是用16进制来存储的。
读到这里,这篇"C++中的四种强制类型转换是什么"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。
类型
强制
C++
变量
文章
之间
内容
地址
数据
时候
而是
语言
存储
妥当
一致
两个
也就是
也就是说
只不过
就是
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
怎么把华为服务器的raid清除
画画软件开发
永刚软件开发怎么样
数据库启动时2003
新乡网络技术联系方式
九级的服务器
数据库技术要掌握哪些知识
猎头学软件开发
泉州蓝泰软件开发有限公司
铁路计算机网络技术是干啥的
数据库改变数据的类型
使用网线怎么连接hp服务器
制作音频app需要多大服务器
对网络安全工作进行督导检查
深圳市凯博思软件开发有限公司
戴尔服务器管理口命令行
广东应急网络安全学习
数据库全局变量
验证码识别数据库
深瞳技术 数据库
诚信天下网络技术有限公司
access仓库管理数据库下载
带薪软件开发学徒
聊城数字化城管软件开发电话
云空间显示服务器出错
亚马逊云服务器账号密码错误
网络安全手抄报诗句
西安多媒体软件开发公司
春节期间网络安全值班
剪映草稿会上传服务器吗