当前位置: 首页 > news >正文

C++标准转换运算符static_cast

C++标准转换运算符static_cast

static_cast <new_type> (expression)

虽然const_cast是用来去除变量的const限定,但是static_cast却不是用来去除变量的static引用。其实这是很容易理解的,static决定的是一个变量的作用域和生命周期,比如:在一个文件中将变量定义为static,则说明这个变量只能在本Package中使用;在方法中定义一个static变量,该变量在程序开始存在直到程序结束;类中定义一个static成员,该成员随类的第一个对象出现时出现,并且可以被该类的所有对象所使用。

对static限定的改变必然会造成范围性的影响,而const限定的只是变量或对象自身。但无论是哪一个限定,它们都是在变量一出生(完成编译的时候)就决定了变量的特性,所以实际上都是不容许改变的。这点在const_cast那部分就已经有体现出来。

static_cast和reinterpret_cast一样,在面对const的时候都无能为力:两者都不能去除const限定。两者也存在的很多的不同,比如static_cast不仅可以用在指针和引用上,还可以用在基础数据和对象上;前面提到过reinterpret_cast可以用在"没有关系"的类型之间,而用static_cast来处理的转换就需要两者具有"一定的关系"了。

 

转载于:https://www.cnblogs.com/lyf806833/p/7266604.html

相关文章:

  • 存储“芯”突破口 解析3D NADN产业竞争形势
  • 网络架构之路(一):目标
  • 数据分析学习笔记:数据可视化
  • 大数据和区块链之间的比较分析
  • JSVC技术
  • SDN/NFV促进网络趋同
  • 软件定义技术存在哪些限制?
  • 一步一步理解Java 企业级应用的可扩展性
  • 拨开数据迷雾:如何理清大数据脉络?
  • [转]MVC Razor模板引擎 @RenderBody、@RenderPage、@RenderSection及Html.RenderPartial、Html.RenderAction...
  • Java动态绑定机制的内幕
  • 安全公司赢取客户信任 真正依靠的是什么?
  • 《Oracle高性能自动化运维》一一第2章 Oracle内存体系结构 2.0
  • AngularJS上传下载文件及$http总结
  • 金蝶K/3 WISE ERP汇率修改小记
  • 【跃迁之路】【444天】程序员高效学习方法论探索系列(实验阶段201-2018.04.25)...
  • Android Studio:GIT提交项目到远程仓库
  • Android 初级面试者拾遗(前台界面篇)之 Activity 和 Fragment
  • C学习-枚举(九)
  • iOS 系统授权开发
  • javascript 总结(常用工具类的封装)
  • 动手做个聊天室,前端工程师百无聊赖的人生
  • 动态规划入门(以爬楼梯为例)
  • 关于Android中设置闹钟的相对比较完善的解决方案
  • 基于遗传算法的优化问题求解
  • 如何在 Tornado 中实现 Middleware
  • 入门级的git使用指北
  • 数据科学 第 3 章 11 字符串处理
  • 通过npm或yarn自动生成vue组件
  • 协程
  • postgresql行列转换函数
  • ​LeetCode解法汇总2583. 二叉树中的第 K 大层和
  • ​油烟净化器电源安全,保障健康餐饮生活
  • # Java NIO(一)FileChannel
  • #define,static,const,三种常量的区别
  • (arch)linux 转换文件编码格式
  • (ctrl.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“
  • (分享)一个图片添加水印的小demo的页面,可自定义样式
  • (附源码)springboot工单管理系统 毕业设计 964158
  • (附源码)计算机毕业设计SSM疫情居家隔离服务系统
  • (论文阅读32/100)Flowing convnets for human pose estimation in videos
  • (十) 初识 Docker file
  • (转)fock函数详解
  • (转)Google的Objective-C编码规范
  • (转)Linux下编译安装log4cxx
  • (转)编辑寄语:因为爱心,所以美丽
  • .h头文件 .lib动态链接库文件 .dll 动态链接库
  • .net core 3.0 linux,.NET Core 3.0 的新增功能
  • .NET Entity FrameWork 总结 ,在项目中用处个人感觉不大。适合初级用用,不涉及到与数据库通信。
  • .NET Framework 的 bug?try-catch-when 中如果 when 语句抛出异常,程序将彻底崩溃
  • .net 获取url的方法
  • @Autowired自动装配
  • @javax.ws.rs Webservice注解
  • [BT]小迪安全2023学习笔记(第15天:PHP开发-登录验证)
  • [C#]手把手教你打造Socket的TCP通讯连接(一)