河北智能网站建设wordpress 文章侧边栏

web/2025/10/9 10:38:11/文章来源:
河北智能网站建设,wordpress 文章侧边栏,佛山网站建设计,wordpress熊掌号api推送C语言中的类型转换 在C语言中#xff0c;如果赋值运算符左右两侧类型不同#xff0c;或者形参与实参类型不匹配#xff0c;或者返回值类型与 接收返回值类型不一致时#xff0c;就需要发生类型转化#xff0c;C语言中总共有两种形式的类型转换#xff1a;隐式类型 转换和…C语言中的类型转换 在C语言中如果赋值运算符左右两侧类型不同或者形参与实参类型不匹配或者返回值类型与 接收返回值类型不一致时就需要发生类型转化C语言中总共有两种形式的类型转换隐式类型 转换和显式类型转换。 1. 隐式类型转化编译器在编译阶段自动进行能转就转不能转就编译失败 2. 显式类型转化需要用户自己处理 void Test () {int i 1;//隐式类型转换double d i;printf(%d, %.2f\n , i, d);int* p i;//显示的强制类型转换int address (int) p;printf(%x, %d\n , p, address); } 缺陷 转换的可视性比较差所有的转换形式都是以一种相同形式书写难以跟踪错误的转换 C语言中的类型转换还是有很多坑的强制类型转换还好起码能看到转的是什么类型但是隐式类型转换出的问题就很多了比如高精度转低精度类型精度缺失int转unsigned int可能导致死循环等等为此C引入了四种命名的强制类型转换操作符:static_cast、reinterpret_cast、const_cast、dynamic_cast C四种命名的强制类型转换操作符 1.static_cast static_cast用于非多态类型的转换静态转换编译器隐式执行的任何类型转换都可用 static_cast但它不能用于两个不相关的类型进行转换 int main() {double d 1.53;int x static_castdouble(d);//意义相近用static_castint y d;cout x endl;cout y endl;//int z 2;//int* p static_castint*(z);//报错return 0; } 2.reinterpret_cast reinterpret_cast操作符通常为操作数的位模式提供较低层次的重新解释用于将一种类型转换 为另一种不同的类型 int main() {int z 2;int* p reinterpret_castint*(z);return 0; } 3.const_cast const_cast最常用的用途就是删除变量的const属性方便赋值const_cast中的类型必须是指针/引用 void test() {const int a 2;int* p const_castint*(a);*p 3;cout a endl;cout *p endl;cout a endl;cout p endl; } 为什么*p和a的值不同这其实和编译器优化有关系因为a是const类型不可更改所以a被保存在寄存器中当程序需要使用a时直接拿寄存中的a而不是找内存中的a实际a的值已经被改变成了3可以用volatile关键字让它每次都去内存中找a void test() {volatile const int a 2;int* p const_castint*(a);*p 3;cout a endl;cout *p endl;cout (void*) a endl;//cout typeid(a).name() endl; //a的类型(int const volatile*)会被识别成bool类型打印所以需要强转成指针类型打印地址cout p endl; } 4.dynamic_cast dynamic_cast用于将一个父类对象的指针/引用转换为子类对象的指针或引用(动态转换) 向上转型子类对象指针/引用-父类指针/引用(不需要转换赋值兼容规则) 向下转型父类对象指针/引用-子类指针/引用(用dynamic_cast转型是安全的) 注意 1. dynamic_cast只能用于父类含有虚函数的类 2. dynamic_cast会先检查是否能转换成功能成功则转换不能则返回0 class A { public:virtual void f() {} };class B : public A {};void fun(A* pa) {// dynamic_cast会先检查是否能转换成功能成功则转换不能则返回B* pb1 static_castB*(pa);B* pb2 dynamic_castB*(pa);cout pb1: pb1 endl;cout pb2: pb2 endl; }int main() {A a;B b;fun(a);fun(b);return 0; } 注意 强制类型转换关闭或挂起了正常的类型检查每次使用强制类型转换前程序员应该仔细考虑是否还有其他不同的方法达到同一目的如果非强制类型转换不可则应限制强制转换值的作用域以减少发生错误的机会。强烈建议避免使用强制类型转换 这里解释一下为什么dynamic_cast需要父类有虚函数当使用 dynamic_cast 进行向下转型时它会在运行时检查给定对象的类型信息并验证是否可以进行转换。如果基类没有虚函数那么无法通过动态绑定确定对象的真实类型从而也无法确保类型转换的安全性 RTTI了解Run-time Type identification的简称即运行时类型识别。 C通过以下方式来支持RTTI         1. typeid运算符         2. dynamic_cast运算符         3. decltype

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/89585.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

电子商务网站管理系统进不了wordpress

耳机现在已经是我们形影不离的随身设备,如果我们碰见华为手机或平板无法连接或连接不上华为耳机(如FreeBuds、FreeLace系列及FreeClip蓝牙耳机)的问题,其实很简单,今天分享一个小妙招,帮助我们快速解决这个…

不花钱怎么做网站运营可以做视频的一个网站

Android WindowManagerService架构分析 WindowManagerService(以下简称WMS) 是Android的核心服务。WMS管理所有应用程序窗口(Window)的Create、Display、Update、Destory。 因为Android系统中只有一个WMS(运行在SystemServer进程),可以称其为…

vs网站模板精美wordpress模板下载

正题 题目链接:https://www.luogu.com.cn/problem/CF802O 题目大意 nnn天每条有aia_iai​和bib_ibi​。 每条可以花费aia_iai​准备至多一道题,可以花费bib_ibi​打印至多一道准备好了的题。 求准备kkk道题最少要花费多少。 1≤k≤n≤51051\leq k\leq n\leq 5\ti…

做营销型网站的教程wordpress移动端设置

java语言和类库:java语言是支持整个java技术的底层基础,java类库是随java语言Java 运行系统:主要指java虚拟机,负责将java与平台无关的中间代码翻译成本机的Java applet :Java applet 是用java语言编写的小应用程序,通…

换物网站为什么做不起来制作ppt用什么软件免费

目前,我国财政体制正值如火如荼的调整阶段,各级政府和部门响应国家号召,旨在加强管理会计系统建设,制定具有先导性和科学性的现代化全面预算管理制度,从而将我国财力推向一个新高度。其中,基于服务或产品的…

大气网站图域名怎么卖

1.const修饰变量一般有两种写法: constTYPE value;TYPE constvalue;这两种写法在本质上是一样的。它的含义是:const修饰的类型为TYPE的变量value是不可变的。对于一个非指针的类型TYPE,无论怎么写,都是一个含义,即valu…

vp代理商网站管理系统电子商务网站域名注册要求

回流基本概念 从电路理论上看,信号是由电流传播的,明确的说是电子的运动,电子流的特性之一就是电子从不在任何地方停留,无论电流流到哪里,必然要回来,因此电流总是在环路中流动,从源到负载然后从…

网站统计分析工具美声广告网站建设

2、一些rpm相关信息rpm软件包系统的标准分组:/usr/share/doc/rpm-4.3.3/GROUPS各种宏定义: /usr/lib/rpm/macros已经安装的rpm包数据库: /var/lib/rpm如果要避免生成debuginfo包:这个是默认会生成的rpm包。则可以使用下面的命令&a…

四川铁科建设监理公司网站怎样建设一个公司网站

一、ActivityManagerService提供的主要功能:(1)统一调度各应用程序的Activity(2)内存管理(3)进程管理二、启动一个Activity的方式有以下几种:(1)在应用程序中调用startActivity启动指定的Activity(2)在Home程序中单击一个应用图标,启动新的Ac…

自己怎么做商城网站吗前几年做啥网站能致富

project facets java转成web项目 用Eclipse开发项目的时候&#xff0c;把一个Web项目导入到Eclipse里会变成了一个Java工程&#xff0c;将无法在Tomcat中进行部署运行。 方法&#xff1a; 1.找到.project文件&#xff0c;找到里面的<natures>标签&#xff0c;查看是否有下…

网站建设方案 预算做网站要学哪些

基于美信 9296的芯⽚ 对于GMSL信号链路上的需求如下&#xff1a; 1&#xff1a;插损 频段2M~3.5GHZ 在3G时需要⼩于-21db。通信速率 6Gbps/187Mbps 频段2M~3.5GHZ 在3G时需要⼩于-18db。通信速率 6Gbps/1.5Gbps 频段2M~2GHZ 在1.5G时需要⼩于-19.5db。通信速率 3Gbps/187Mbps …

菜鸟教程官网南宁seo专员

大家好&#xff0c;我是若川。持续组织了近一年的源码共读活动&#xff0c;感兴趣的可以 点此扫码加我微信 ruochuan12 参与&#xff0c;每周大家一起学习200行左右的源码&#xff0c;共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系…

网站换行代码c语言编程软件

参考一篇理解性文章&#xff1a;如何让10岁的表弟也能理解贝叶斯公式 问&#xff1a; 机器学习贝叶斯算法是什么&#xff0c;它的会被用于分类或者回归分析吗&#xff0c;它有什么优势&#xff1f; 答&#xff1a; 机器学习中的贝叶斯算法是一种基于贝叶斯定理的算法&#…

旅游网站后台管理系统青峰集团响应式网站

原文&#xff1a;www.backtrader.com/ 概念 平台概念 原文&#xff1a;www.backtrader.com/docu/concepts/ 这是平台某些概念的集合。它试图收集可在使用平台时有用的信息片段。 开始之前 所有小代码示例都假设以下导入可用&#xff1a; import backtrader as bt import ba…

一个公司多个网站做优化十大外贸电商平台

1. 题目 给定一个整数数组 A&#xff0c;返回其中元素之和可被 K 整除的&#xff08;连续、非空&#xff09;子数组的数目。 示例&#xff1a; 输入&#xff1a;A [4,5,0,-2,-3,1], K 5 输出&#xff1a;7 解释&#xff1a; 有 7 个子数组满足其元素之和可被 K 5 整除&…

新浪云服务器做网站做阿里巴巴网站费用

引言 最近在阅读鸣嵩的一篇文章&#xff0c;数据库的下一场革命&#xff1a;S3 延迟已降至原先的 10%&#xff0c;云数据库架构该进化了 收获很多&#xff0c;过去时间也基于对象存储做过一些功能实现&#xff0c;特记录下。关于鸣嵩&#xff1a; 曹伟&#xff0c;花名鸣嵩&am…

网页代理网站百度收录效果好的网站

在命令行模式&#xff08;CMD&#xff09;下执行时&#xff0c;想获得执行参数&#xff0c;用以下变量&#xff1a; ParamCount&#xff1a;参数个数 ParamStr&#xff1a;为参数数组 如果想在执行完一个操作后在命令行作出相应提示&#xff0c;就应该在相应位置放入…

社区门户网站建设招标公告wordpress apk

在当今数据驱动的世界中&#xff0c;组织在保护存储在数据库中的机密数据并确保其完整性方面面临着越来越多的挑战。数据库审计通过提供全面的数据库活动监控方法&#xff0c;在应对这些挑战方面发挥着至关重要的作用。 数据库活动监控&#xff08;Database Activity Monitori…

中国建设银行信用卡积分兑换网站自媒体图片素材网站

统一基金会&#xff0c;服务开发人员&#xff0c;推动开放 Web 技术发展jQuery 基金会和 Dojo 基金会今天宣布计划联合&#xff0c;旨在建立最大&#xff0c;最多样化和最全面的基金会&#xff0c;通过服务开发者&#xff0c;他们的项目&#xff0c;他们的社区来构建开放的 Web…

百度账号设置温州百度网站快速优化

基本概念 概述 支持动态更新防火墙规则 不重启即可创建、修改和删除规则 使用区域和服务来简化防火墙配置 区域 一组预定义的规则&#xff0c;防火墙策略集合&#xff08;或策略模板&#xff09; 把网络分配到不同的区域中&#xff0c;并为网络及其关联的网络接口或流量源…