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

滴水逆向_引用_友元函数_运算符重载

作业:

运算符号重载实现。

struct Person
{
public:int x;int y;
public:Person(){this->x = 10;this->y = 20;}Person(int x, int y){this->x = x;this->y = y;}//申明友元函数void  Printf(const Person& p){printf("%d  %d",p.x,p.y);}//友元函数重载Person operator + (const Person& p);Person operator - (const Person& p);Person operator * (const Person& p);Person operator / (const Person& p);bool operator >(const Person& p);bool operator <(const Person& p);bool operator >=(const Person& p);bool operator <=(const Person& p);bool operator ==(const Person& p);};Person Person:: operator + (const Person & p )
{this->x =this->x +  p.x;this->y = this->y + p.y;return *this;
}
Person Person:: operator - (const Person& p)
{this->x = this->x - p.x;this->y = this->y - p.y;return *this;
}
Person Person:: operator * (const Person& p)
{this->x = this->x * p.x;this->y = this->y * p.y;return *this;
}
Person Person:: operator / (const Person& p)
{this->x = this->x / p.x;this->y = this->y / p.y;return *this;
}bool Person ::operator >(const Person& p)
{if (this->x > p.x && this->y > p.y){return true;}return false;
}
bool Person ::operator <(const Person& p)
{if (this->x < p.x && this->y< p.y){return true;}return false;
}
bool Person ::operator >=(const Person& p)
{if (this->x >= p.x && this->y >= p.y){return true;}return false;
}
bool Person ::operator <=(const Person& p)
{if (this->x <= p.x && this->y <= p.y){return true;}return false;
}
bool Person ::operator ==(const Person& p)
{if (this->x == p.x && this->y == p.y){return true;}return false;
}

2 引用和指针的区别

	x = (int*)10;
00592EB1  mov         dword ptr [x],0Ah

指针修改指向生成的反汇编代码。

引用

	x = 10;
00591A01  mov         eax,dword ptr [x]  
00591A04  mov         dword ptr [eax],0Ah  

引用是不可能出现修改指向的反汇编代码的。

这也就是反汇编中唯一能看出来的瑕疵。

相关文章:

滴水逆向_引用_友元函数_运算符重载

作业&#xff1a; 运算符号重载实现。 struct Person { public:int x;int y; public:Person(){this->x 10;this->y 20;}Person(int x, int y){this->x x;this->y y;}//申明友元函数void Printf(const Person& p){printf("%d %d",p.x,p.y);}/…...

java医院多维度综合绩效考核源码,医院绩效管理系统,支持一键核算和批量操作,设有审核机制,允许数据修正

医院绩效考核管理系统&#xff0c;java医院绩效核算系统源码&#xff0c;采用多维度综合绩效考核的形式&#xff0c;针对院内实际情况分别对工作量、KPI指标、科研、教学、管理等进行全面考核。医院可结合实际需求&#xff0c;对考核方案中各维度进行灵活配置&#xff0c;对各维…...

科普:HTTP端口80和HTTPS端口443

你会发现&#xff0c;有的网址不带端口号&#xff0c;怎么回事&#xff1f; HTTP协议默认端口&#xff1a;HTTP协议的默认端口是80。当用户在浏览器中输入一个没有指定端口的以http://开头的网址时&#xff0c;浏览器会自动使用80端口与服务器建立连接&#xff0c;进行超文本数…...

uniapp打包生产证书上架IOS全流程

第一步&#xff1a;生成生产证书 上传CSR文件&#xff0c;windows系统电脑无法上传csr文件可以参考这个&#xff1a; windows下创建ios打包证书的详细流程_香蕉云编 下载生产证书 下载下来的cer生产证书在香蕉云编cer文件上传栏上传&#xff0c;然后生成p12文件 生成p12文件…...

山东大学软件学院nosql实验一环境配置

环境&#xff1a;前端vue后端springboot 软件环境&#xff1a; MongoDB MongoDBCompass 实验步骤与内容&#xff1a; 在官网下载安装包&#xff08;最新版&#xff09; 配置环境环境变量 在“高级系统设置-环境变量”中&#xff0c;可以将MongoDB添加到环境变量Path中(D:\…...

【2024 CSDN博客之星】大学四年,我如何在CSDN实现学业与事业的“双逆袭”?

前言&#xff1a; Hello大家好&#xff0c;我是Dream。不知不觉2024年已经过去&#xff0c;自己也马上迈入23岁&#xff0c;感慨时间飞快&#xff0c;从19岁刚入大学加入CSDN&#xff0c;到现在大学毕业已经整整四年了。CSDN陪伴我走过了最青涩的四年大学时光&#xff0c;在这里…...

【Windows 同时安装 MySQL5 和 MySQL8 - 详细图文教程】

目录 建议 8.0的版本用图形化工具安装 0.下载 1.安装 2.配置环境变量 1. 下载 mysql8.0 和 mysql5.7的压缩包 2. 解压到本地 3. 安装MySQL8.xx.xx 第一步 配置环境变量 第二步 新建配置文件 第三步 MySQL 数据库初始化 第四步 临时密码 第五步 安装并开启mysql80服…...

[Python学习日记-83] 操作系统的介绍

[Python学习日记-83] 操作系统的介绍 简介 操作系统介绍 简介 本篇开始我们要学习网络编程的进阶知识&#xff0c;即并发编程&#xff08;多进程编程&#xff09;&#xff0c;从字面意思可以看出&#xff0c;进程就是正在执行的一个过程&#xff0c;也就是说进程是对正在运行…...

软考——WWW与HTTP

1.万维网&#xff08;world wide web&#xff09; 是一个规模巨大的、可以资源互联的资料空间。由URL进行定位&#xff0c;通过HTTP协议传送给使用者&#xff0c;又由HTML来进行文件的展现。 它的主要组成部分是&#xff1a;URL、HTTP、HTML。 &#xff08;1&#xff09;URL…...

算法-数据结构-图-邻接表构建

邻接表的基本概念 顶点&#xff08;Vertex&#xff09;&#xff1a; 图中的每个顶点用一个节点表示。 每个顶点存储一个链表或数组&#xff0c;用于记录与该顶点直接相连的其他顶点。 边&#xff08;Edge&#xff09;&#xff1a; 如果顶点 A 和顶点 B 之间有一条边&#xf…...

Docker(Nginx)部署Vue

简介&#xff1a;目标使用docker将vue生成的dist文件&#xff0c;结合nginx生成镜像&#xff0c;然后运行&#xff1b; 1、首选确保vue项目正确运行&#xff0c;并能正确打包dist文件&#xff1b; 2、查看已经生成的dist文件 3、将dist文件打包为rar文件或者zip文件&#xf…...

ubuntu22.04的docker容器中安装ssh服务

ubuntu22.04的docker容器中安装ssh服务&#xff0c;以便外部可以连接到容器中操作。 rootnode15:~# cat /etc/issue Ubuntu 22.04.5 LTS \n \l rootnode15:~# docker ps|grep qwen 7d3c36c37d36 vllm/vllm-openai:v0.7.3 "python3 -m …...

卷积这个词在卷积神经网络中应该怎么理解

卷积的定义 数学概念&#xff1a; 在数学上&#xff0c;卷积是一种操作&#xff0c;通常用于两个函数之间的运算。对于图像处理而言&#xff0c;这些函数通常是输入图像和一个称为“卷积核”或“滤波器”的小矩阵。 在CNN中的应用&#xff1a; 卷积操作是通过滑动窗口&#xf…...

设计模式教程:迭代器模式(Iterator Pattern)

迭代器模式&#xff08;Iterator Pattern&#xff09;是设计模式中的一种行为型模式&#xff0c;它允许顺序访问一个集合对象中的元素&#xff0c;而无需暴露集合对象的内部结构。换句话说&#xff0c;迭代器模式提供了一个方法&#xff0c;能让你遍历集合中的元素&#xff0c;…...

C语言学习【1】C语言关于寄存器的封装

目录 1.封装寄存的C语言的语法volatile&#xff1a;unsigned int:*pGpiobOdrvolatile unsigned int * 2.进一步C语言的封装 在嵌入式中&#xff0c;底层一定是操作寄存器&#xff0c;我有一个理念&#xff0c;凡事一定要想清楚&#xff0c;把任何知识点融入自己的理解之中&…...

鸿蒙app 开发中的 == 和 === 的区别

在鸿蒙 App 开发中&#xff0c;如果你使用 JavaScript 或 TypeScript 进行编码&#xff0c; 和 是用于比较值的运算符&#xff0c;它们的主要区别在于比较的严格程度&#xff0c;下面为你详细介绍&#xff1a; 1. &#xff08;宽松相等运算符&#xff09; 比较规则&#xff1…...

【算法】冒泡排序

目录 一、算法概述 二、算法原理 1. 核心思想 2. 排序过程演示 三、标准实现代码 四、时间复杂度分析 五、优化策略 1. 提前终止优化 2. 记录最后交换位置 六、算法特性 七、实际应用 八、扩展思考 九、总结 一、算法概述 冒泡排序&#xff08;Bubble Sort&#xff0…...

R Excel 文件:高效数据处理的利器

R Excel 文件:高效数据处理的利器 在数据分析领域,R语言因其强大的统计分析和可视化功能而备受推崇。而R Excel文件,作为R语言与Excel的桥梁,使得数据在R和Excel之间的高效转换成为可能。本文将详细介绍R Excel文件的概念、应用场景以及操作方法。 一、R Excel文件的概念…...

数据库(MySQL):使用命令从零开始在Navicat创建一个数据库及其数据表(一).创建基础表

一. 使用工具和命令 1.1 使用的工具 Navicat Premium 17 &#xff1a;“Navicat”是一套可创建多个连接的数据库管理工具。 MySQL版本8.0.39 。 1.2 使用的命令 Navicat中使用的命令 命令 命令解释 SHOW DATABASES&#xff1b; 展示所有的数据库 CREATE DATABASE 数据…...

电力通信物联网应用,国密网关守护电力数据安全

电力国密网关是用于保护电力调度数据网路由器和电力系统的局域网之间通信安全的电力专用网关机&#xff0c;主要为上下级控制系统之间的广域网通信提供认证与加密服务&#xff0c;实现数据传输的机密性、完整性。 国密算法网关功能特点 身份认证&#xff1a;对接入的设备和用户…...

计算机毕业设计:Python农产品电商数据采集与价格预估平台 Flask框架 Spark 线性回归 数据分析 可视化 大数据 大模型(建议收藏)✅

1、项目介绍 技术栈 采用 Python 语言开发&#xff0c;基于 Flask 框架搭建后端服务&#xff0c;使用 Spark 技术进行大数据处理&#xff0c;通过 requests 爬虫从惠农网采集农产品数据&#xff0c;运用线性回归预测算法模型进行价格预测&#xff0c;前端结合 Echarts 可视化库…...

SQL利用窗口函数实现轻量级报表设计_实战技巧

窗口函数需先写PARTITION BY再ORDER BY&#xff0c;且ORDER BY在多数数据库中不可省略&#xff1b;执行阶段在GROUP BY后、HAVING前&#xff0c;不能引用未SELECT或GROUP BY的列&#xff1b;MySQL 5.7不支持&#xff0c;须升级至8.0。窗口函数怎么写才不报错&#xff1a;PARTIT…...

FLUX.1海景美女图新手教程:3分钟掌握提示词结构——主体+环境+光线+风格

FLUX.1海景美女图新手教程&#xff1a;3分钟掌握提示词结构——主体环境光线风格 你是不是也遇到过这种情况&#xff1f;看到别人用AI生成的“海景美女图”美轮美奂&#xff0c;自己试了试&#xff0c;结果出来的图片要么人物奇怪&#xff0c;要么背景模糊&#xff0c;要么光线…...

PTA L2-039 清点代码库:STL容器组合实战解析

1. 题目背景与需求分析 这道PTA L2-039题目来自中国高校计算机大赛-团体程序设计天梯赛&#xff08;GPLT&#xff09;&#xff0c;考察的是STL容器的综合运用能力。题目要求我们对代码库中的功能模块进行去重统计&#xff0c;这在软件开发中是个非常实际的需求——想象一下&…...

Node-Cache 测试策略与覆盖率:确保缓存可靠性的完整方法

Node-Cache 测试策略与覆盖率&#xff1a;确保缓存可靠性的完整方法 【免费下载链接】node-cache a node internal (in-memory) caching module 项目地址: https://gitcode.com/gh_mirrors/no/node-cache Node-Cache 作为一款轻量级的内存缓存模块&#xff0c;其可靠性直…...

终极Codebox桌面应用构建教程:Linux和Mac完整配置指南

终极Codebox桌面应用构建教程&#xff1a;Linux和Mac完整配置指南 【免费下载链接】codebox Open source cloud & desktop IDE 项目地址: https://gitcode.com/gh_mirrors/co/codebox Codebox作为一款开源的云桌面IDE&#xff0c;为开发者提供了强大的代码编辑和项目…...

给产品经理和业务同学的深度学习入门:看懂吴恩达课程里的神经网络到底在干嘛

给产品经理的深度学习第一课&#xff1a;像理解商业决策一样读懂神经网络 想象你正在策划一场新品上市活动——你需要分析用户画像、预测市场反应、优化投放渠道。这其实和深度学习的工作流程惊人地相似&#xff1a;收集数据、训练模型、预测结果。吴恩达教授的深度学习课程之所…...

Redis监控指标与性能调优

Redis监控指标与性能调优&#xff1a;构建高效缓存系统的关键 Redis作为高性能的内存数据库&#xff0c;广泛应用于缓存、消息队列等场景。随着业务规模扩大&#xff0c;Redis的性能问题可能成为系统瓶颈。通过监控关键指标并实施调优策略&#xff0c;可以显著提升Redis的稳定…...

QobuzDownloaderX-MOD:如何轻松下载Qobuz高品质音乐到本地

QobuzDownloaderX-MOD&#xff1a;如何轻松下载Qobuz高品质音乐到本地 【免费下载链接】QobuzDownloaderX-MOD Downloads streams directly from Qobuz. Experimental refactoring of QobuzDownloaderX by AiiR 项目地址: https://gitcode.com/gh_mirrors/qo/QobuzDownloader…...

Comics Downloader:构建个人数字漫画库的终极命令行解决方案

Comics Downloader&#xff1a;构建个人数字漫画库的终极命令行解决方案 【免费下载链接】comics-downloader tool to download comics and manga in pdf/epub/cbr/cbz from a website 项目地址: https://gitcode.com/gh_mirrors/co/comics-downloader 你是否曾在网络连…...