码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 引用——权限问题


    今天了解到一个小的知识点,我打算记录下来。

    我们知道引用是对一个变量起了一个别名来使用。如下:

     可以正常生成解决方案。

    上面这种情况是同权限,也就是权限都是可读可写的int类型。

    如果不同权限,那么会正常生成方案吗,我们往下看:

     很明显编译器报错了,为什么?

    这是因为a是可读不可写的const类型,而b却是可读可写的,这里权限进行了放大,所以无法通过。

    上述2种情况分别对应了权限相同,权限放大,那么权限缩小行不行,我们来看看:

     经过测试,发现权限缩小(可读可写缩小为只可读)也能成功生成解决方案。

     总结:权限不能放大

    下面再看一个问题:

     如果类型不同,也无法正常通过,那么你觉得是为什么呢?可能是因为就是因为类型不同的原因?再看一个例子:

     如果我们加上const,又可以正常生成解决方案。

    究其原因是因为在类型不同的情况下,会生成一个临时变量,上述例子中,在引用初始化的时候创建了一个临时的double型变量(a的类型提升),但临时变量具有常性,所以如果不加const会把权限放大造成第一种情况错误。

  • 相关阅读:
    UEFI实战——图形化
    防火墙综合实验三
    新基建助力智能化道路交通领域的转型发展
    MySQL---触发器详解
    MC Instruction Decoder
    vue项目配置环境变量与代理服务器
    Python小技巧:两行代码实现批量给图片填加水印,这也太简单了~
    禁止运行游戏的程序开发
    [附源码]Python计算机毕业设计Django水果管理系统
    交叉编译工具的安装和配置过程介绍
  • 原文地址:https://blog.csdn.net/bang___bang_/article/details/127652479
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号