C++中的四种强制类型转换是什么
发表于:2025-01-16 作者:千家信息网编辑
千家信息网最后更新 2025年01月16日,本文小编为大家详细介绍"C++中的四种强制类型转换是什么",内容详细,步骤清晰,细节处理妥当,希望这篇"C++中的四种强制类型转换是什么"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习
千家信息网最后更新 2025年01月16日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安全错误
数据库的锁怎样保障安全
网上数据库文献有哪些
软件开发时期包含哪些阶段
宣传网络安全的素材
古交软件开发收费情况
潍坊软件开发wancet
服务器安全检测机构
前端转软件开发
中银软件开发合肥待遇很差吗
德国会展数据库
社交聊天软件开发价格
服务器如何设置系统决策
在网上学习网络技术的网站
谁能推荐我的世界服务器
支持u8系统的数据库管理系统
从0到1实现数据库
美国网络安全警报警示
金蝶kis对应数据库
怀旧服有没有联盟服务器
未来网络安全的隐患
卫辉软件开发哪家合适
网站服务器 入门级
淘宝和网商银行是一个服务器吗
零基础学习软件开发免费完整版
深圳海鲜冷库软件开发
erp 软件开发
遇到网络安全问题后的做法
嘉定区银联数据库服务收费标准
影院座位数据库
sql数据库入门用什么软件
违网络安全法第二十七条