const、指针、引用的综合
目录
代码段
定义引用变量的技巧
内存某处
正误判定技巧
温故知新
代码段
定义引用变量的技巧
// 定义引用变量的技巧#include<iostream>
using namespace std;int main()
{int a = 1;int * p = &a;// 首先,定义一个指针变量int * * q1 = &p;// 然后,将&符号移动到*符号的位置,覆盖*符号int * & q2 = p;// int * * q1 = &p; => int * & q2 = p;// 按照这种方式,最终q2是一个引用变量return 0;
}
内存某处
// 内存某处#include<iostream>
using namespace std;int main()
{// 内存0x0018ff56处int * p1 = (int *)0x0018ff56; // 正确写法1int * && p2 = (int *)0x0018ff56; // 正确写法2int * const & p3 = (int *)0x0018ff56; // 正确写法3// const int * & p4 = (int *)0x0018ff56; // 错误写法return 0;
}
正误判定技巧
// 正误判定技巧#include<iostream>
using namespace std;int main()
{int a = 1;int * p = &a;// const int * & q = p; // 错误!// 将const int * & q = p;还原成const int * * q = &p;// 因为const int * * <= int * *是错误转换// 所以const int * & q = p;错误!return 0;
}
温故知新
1、注意理解正确转换和错误转换!具体可参考文章const和指针的结合中的正误转换
2、如果const右边没有指针*,那么const不参与类型
// 1
int a = 1;
int * p = &a;
// int * <= int *,正确!
int * & q = p;
// 将int * & q = p;还原成int * * q = &p;
// int * * <= int * *,正确!// 2
int a = 1;
int * const p = &a;
// int * <= int *,正确!
int * & q = p;
// 判定方法1
// 将int * & q = p;还原成int * * q = &p;
// int * * <= int * const *,错误!
// 判定方法2
// 将int * & q = p;还原成int * * q = &p;
// int * * q = &p;代表将常量p的地址泄露给普通指针q
// 那么,通过q解引用就有将常量p修改的风险,所以错误!// 3
int a = 1;
const int * p = &a;
// const int * <= int *,正确!
int * & q = p;
// 将int * & q = p;还原成int * * q = &p;
// int * * <= const int * *,错误!// 4
int a = 1;
int * p = &a;
// int * <= int *,正确!
const int * & q = p;
// 将const int * & q = p;还原成const int * * q = &p;
// const int * * <= int * *,错误!相关文章:
const、指针、引用的综合
目录 代码段 定义引用变量的技巧 内存某处 正误判定技巧 温故知新 代码段 定义引用变量的技巧 // 定义引用变量的技巧#include<iostream> using namespace std;int main() {int a 1;int * p &a;// 首先,定义一个指针变量int * * q1 &p;// 然…...
gitee linux免密/SSH 方式连接免登录
目录 账号密码方式免登录(不推荐)添加git配置新建保存密码文件git clone SSH 方式连接免登录(推荐)生成SSH公钥通过 ssh-keygen 程序创建找到SSH公钥 在gitee中添加公钥git clone 参考 账号密码方式免登录(不推荐&…...
计网第一章
注意:计网知识点十分多,在本篇及后续博客主要记录个人认为比较重要的知识点。 1.计算机网络的基本概念 计算机网络就是自治的计算机互连起来的集合。计算机网络可以简称为网络,而互连网就是把许多网络连接起来,即网络的网络。 …...
windows升级记
我的笔记本原来的windows的版本是win10,本来想使用windows 更新下最新的补丁包,但是一直报错,出现错误号:0x80004005,在网上找了一堆的资料都没有办法解决问题,于是把问题反馈到微软的技术服务中心,服务中心…...
【Windows 常用工具系列 5 -- Selenium IDE的使用方法 】
文章目录 Selenium 介绍Selenium IDE 介绍 Selenium IDE安装Chrome 浏览器安装Selenium IDE使用 Selenium 介绍 Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。 Selenium家庭成员有三个,分别是S…...
现代无人机技术
目录 1.发展 2.应用领域 3.对战争的影响 4.给人类带来的福利 5.给人类带来的坏处 1.发展 无人机的发展可以分为以下几个关键步骤: 1. 早期试验和研究:20世纪初,飞行器的概念开始出现,并进行了一些早期的试飞和实验。这些尝试包…...
【机器学习 | 数据预处理】 提升模型性能,优化特征表达:数据标准化和归一化的数值处理技巧探析
🤵♂️ 个人主页: AI_magician 📡主页地址: 作者简介:CSDN内容合伙人,全栈领域优质创作者。 👨💻景愿:旨在于能和更多的热爱计算机的伙伴一起成长!!&…...
渐进增强和优雅降级区别
文章目录 前言一、渐进增强二、优雅降级三、两者区别四、渐进增强和优雅降级如何抉择 前言 渐进增强和优雅降级是在css3出现之后才火起来的。比如IE6等,不支持css3,但是css3的样式又特别优秀,所以在高级浏览器中应用css3样式,在低…...
使用provision创建的arxml文件,导入到第三方工具需要注意哪些方面?
provision是一款基于AP AUTOSAR的ARXML设计工具,可以帮助您快速创建和配置ARXML文件。 如果您想要将provision创建的ARXML文件导入到第三方工具中,您需要注意以下几个方面: 您需要确认第三方工具支持的AP AUTOSAR版本和provision生成的ARXML…...
Node.js的核心模块——path
文章目录 path是什么?path怎么用?结论 path是什么? path是Node.js的核心模块,专门用来处理文件路径,path模块为处理文件路径提供了一系列实用的功能和API。 path怎么用? 这里主要介绍一些path模块的常见…...
【MAC】 M2 brew安装 docker 运行失败 解决
MAC 安装 brew install --cask docker 之后一直显示docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?. 网上看了一些文章 发现 这个不适用于M2 所以要从官网上下载 docker 安装成功...
iPhone苹果手机触屏失灵无法关机,如何强制重启
参考:https://zhuanlan.zhihu.com/p/615223121 1,只轻按一下音量上键后快速松开 2,只轻按一下音量下键后快速松开 3,只按住右侧电源键长按不松手,直到手机关机。...
SQL-每日一题【1484. 按日期分组销售产品】
题目 表 Activities: 编写解决方案找出每个日期、销售的不同产品的数量及其名称。 每个日期的销售产品名称应按词典序排列。 返回按 sell_date 排序的结果表。 结果表结果格式如下例所示。 示例 1: 解题思路 前置知识 group_concat函数的功能 将group by产生的…...
java重写与重载的区别
在Java中,重写(Override)和重载(Overload)是两种不同的概念: 重写(Override): 重写是指子类重新定义(覆盖)了从父类继承而来的方法。重写要求子类…...
Unity 框架学习--1
由浅入深,慢慢演化实现框架 两个类的实现代码完全一样,就只有类名或类型不一样的时候,而且还需要不断扩展(未来会增加各种事件)的时候,这时候就用 泛型 继承 来提取,继承解决扩展的问题&#…...
ERROR: While executing gem ... (Gem::FilePermissionError)
sudo gem install -n /usr/local/bin cocoapodsERROR: While executing gem ... (Gem::FilePermissionError)You dont have write permissions for the /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/gems/2.6.0 directory.解决办法: 1.删…...
QT学习笔记-oracle oci数据库驱动交叉编译并移植到ARM开发板
QT学习笔记-oracle oci数据库驱动交叉编译并移植到RK3568ARM开发板 0、背景1、搭建交叉编译环境2、交叉编译过程3、把数据库驱动部署到目标系统中 0、背景 在上一文《QT学习笔记-QT安装oracle oci驱动》中介绍了在Windows环境下使用QT访问oracle数据库时遇到驱动无法加载问题的…...
微服务03-RabbitMQ
1、简介 MQ,中文是消息中间件(队列)(MessageQueue),字面来看就是存放消息的队列。也就是事件驱动架构中的Broker。 简单来说,消息中间件就是指保存数据的一个容器(服务器),可以用于两个系统之间的数据传递。 几种常见MQ的对比: RabbitMQActiveMQRocketMQKafka公司…...
QtCreator ui设置界面 Layout 的属性 layoutStretch
layoutStretch 用于控制Layout在被用户进行缩放时。里面控件的缩放比例。如一个水平布局里面有两个控件 一个 QLineEdit 和 QPushButton。首先将两个控件的尺寸策列的水平策略都设置为Expanding。此时在将包含这两个控件的水平布局的 layoutStretch 进行如下设置。 运行程序就…...
APP外包开发的iOS开发语言
学习iOS开发需要掌握Swift编程语言和相关的开发工具、框架和技术。而学习iOS开发需要时间和耐心,尤其是对于初学者。通过坚持不懈的努力,您可以逐步掌握iOS开发技能,构建出功能丰富、优质的移动应用。今天和大家分享学习iOS开发的一些建议方法…...
硬盘里那个仙剑的文件夹,你多久没打开过了?DOCKER部署DOS怀旧模拟器,带你秒回童年!
前言 大概每个 80 后、90 后玩家的硬盘深处,都有一个仙剑的文件夹。 我也不例外。当年第一次通关,在苏州城里听到《仙剑奇侠传》的音乐响起来,整个人愣在屏幕前——那时候还不懂什么叫叙事,什么叫情感冲击,只觉得李逍…...
云容笔谈·东方红颜影像生成系统环境配置详解:Anaconda虚拟环境管理
云容笔谈东方红颜影像生成系统环境配置详解:Anaconda虚拟环境管理 如果你刚接触AI图像生成,想在本地跑起来一个像“东方红颜”这样的模型,第一步往往不是写代码,而是配环境。我见过太多朋友,兴致勃勃地下载了模型代码…...
wife调式的Ioc频次给几率
wife 被攻击sql,导致IP地址属地波束频率过流压制,被限定单量用于恶意ssl攻击,在被强力攻击IP•iccid频率Bu,在过滤器的emeiN,进击性开启恶意-qcl,过级率下的Npm存在严重漏洞bug,导致…...
Springboot 实现多数据源(PostgreSQL 和 SQL Server)连接匚
一、环境准备 Free Spire.Doc for Python 是免费 Python 文档处理库,无需依赖 Microsoft Word,支持 Word 文档的创建、编辑、转换等操作,其中内置的 Markdown 解析能力,能高效实现 Markdown 到 Doc/Docx 格式的转换,且…...
网络安全8大就业领域和待遇对比!
网络安全8大就业领域和待遇对比! 游戏、互联网企业集中在北上广深;医疗、运营商岗位在省会城市机会更多;汽车物流则需关注长三角、珠三角等制造业集群,教育类比较适合女生发展。 学习资源 如果你也是零基础想转行网络安全&#x…...
如何用Ai2Psd脚本快速实现AI到PSD的无损转换?终极解决方案揭秘
如何用Ai2Psd脚本快速实现AI到PSD的无损转换?终极解决方案揭秘 【免费下载链接】ai-to-psd A script for prepare export of vector objects from Adobe Illustrator to Photoshop 项目地址: https://gitcode.com/gh_mirrors/ai/ai-to-psd 你是否曾经遇到过这…...
从SI仿真到示波器实测:一份给硬件工程师的有源晶振匹配电阻完整验证指南
从仿真到实测:有源晶振阻抗匹配的全流程实战解析 在高速数字电路设计中,有源晶振作为系统时钟的心脏,其输出信号的完整性直接影响整个系统的稳定性。我曾在一个千兆以太网项目中,因为忽视了晶振匹配电阻的优化,导致系统…...
毕业季求生指南:如何用AI告别论文写作的“至暗时刻”?
凌晨三点的图书馆,咖啡杯堆成小山,屏幕前双眼通红的你还在为第三章的实验数据发愁——这或许是许多人学生时代最深刻的记忆。而今天,一个名叫“百考通AI”的工具正在悄然改变这一切。 深夜十二点,计算机专业的李明仍在实验室里对着…...
Vue3后台管理系统开发终极指南:vue-admin-box 全面解析
Vue3后台管理系统开发终极指南:vue-admin-box 全面解析 【免费下载链接】vue-admin-box vue3,vite,element-plus中后台管理系统,集成四套基础模板,大量可利用组件,模板页面 项目地址: https://gitcode.com/gh_mirrors/vu/vue-ad…...
终极魔兽世界字体解决方案:智能合并与字符集补全工具
终极魔兽世界字体解决方案:智能合并与字符集补全工具 【免费下载链接】Warcraft-Font-Merger Warcraft Font Merger,魔兽世界字体合并/补全工具。 项目地址: https://gitcode.com/gh_mirrors/wa/Warcraft-Font-Merger 在魔兽世界等大型多人在线游…...
