斑马日记2025.10.17

news/2025/10/17 22:57:11/文章来源:https://www.cnblogs.com/FMRbpm/p/19148982


今天学习了const修饰成员函数和mutable关键字,还刷了一道关于看似简单的数学题,收获颇丰呢。

首先学习了const修饰成员函数部分,成员函数后放const,那么成员变量在里面就不能被改变,

class Person
{
public:
void ShowPerson() const
{
m_age = 100;

}
int m_age;

};

原因我刚刚检索到,因为在成员函数中存在一个this指针,它是一个不能改变指向的指针,也就是指针常量,而加上const以后,this就变成了常量指针常量,也就是说成员函数中的成员变量被this指着,而this又是常量指针常量,所以就无法改变了。

另外,声明对象前加const称该对象为常对象。

其次我学习了mutable关键字,它就把常函数的限制给冲破了,只要在定义成员函数时,前面加上mutable,这个变量就可以在常函数中被改变了。

class Person
{
public:
void ShowPerson() const
{
m_age = 100;
}
mutable int m_age;
int m_A;
};

void test11()
{
const Person p;
p.m_A = 10;
p.m_age = 100;
}

最后,常对象只能调用常函数,其实很简单,常对象其实就是一个常量,不能被改变,而常函数正好合它的口味,不会改变成员变量,所以常对象只能调用常函数。

然后是那道看起来很简单的数学题,也是小看它了:

屏幕截图 2025-10-17 223903

这个题的核心考点就是关于负数除法取余数的问题,首先这是答案:

include

using namespace std;
int main()
{
int T;
cin>>T;
while(T--){
long long int A,B;
cin>>A>>B;
long long int r = A%B;
if(r>=0){
cout<<r<<endl;
}else{
if(B<0){
B=-B;
}
cout<<B+r<<endl;
}
}
return 0;
}

负数取余的方法:我通过检索给大家带来另一种理解,被除数和除数异号的除法,C++,java会倾向于让商更大;而python、web还有一些计算器都是会倾向于让商更小,例如7/(-3)的结果有两种:7/(-3)=-3......-2 and 7/(-3)=-2......1,两种不同的结果,前者是python、web还有一些计算器的结果,后者是java和c++的结果。详情见另一位优秀大佬的文章

这里我是先在网上查阅了负数除法取余的相关知识,后来修改了自己的方法,一开始真的严重低估这个题了哈哈,首先,除法运算取余要考虑四种情况:令a,b>0;1.a/b,2.a/-b,3.-a/b,4.-a/-b; 然后这四种情况第一种不用说,直接%就出结果了, 然后第二三种情况呢,异号的两个数做除法运算,C++倾向于商更大的情况,例如:7/(-3)有两种结果:-3......-2和-2......1;C++会选择后者的结果,符合题目要求大于0的条件,然而,-7/3时,也有两个结果-2......-1和-3......2,c++会选择前者的结果,所以为了符合条件,必须让他选择另外一种结果,我发现两种余数的关系是-1+除数=2,所以可以借此进行讨论解决问题; 最后一种情况,都是负数的情况,例如,-7/(-3)可得2......-1或3......2,这里不管C++还是别的什么编程语言,得数都为2......-1,所以为了符合条件,依然借助除数,但此时除数是负数,所以需要取一个相反数,这样就好了。 虽然说起来很复杂,但其实很好理解也很好实现,欢迎交流和吐槽。

这个题:核心考点:数学中的负数除法取余问题 我踩的坑:第一次用int来定义这些量,没有考虑溢出的情况,第二次没有考虑负数的情况,第三次没有考虑被除数和除数都是负数的情况;可以优化的地方:无

今天发现的问题:写代码时的效率和状态很重要,一定要寻找方法来调整,以及合理地调整时间,今天的英语听力和数学都没来得及学,以及前三天遗留的问题还没有解决,今天还有两个关于VS使用方面的问题还没有解决,一定不要忘记。

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

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

相关文章

CF Global Round 29(#2147) 总结

CF Global Round 29(#2147) 总结 ​ A void solve() {int x,y;cin>>x>>y;if(x<y) return cout<<"2\n",void();--x;if(y<x&&y>1) return cout<<"3\n",vo…

详细介绍:C语言中#pragma的用法

详细介绍:C语言中#pragma的用法pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco&qu…

实用指南:Godot 城市模拟 – 003 根据不规则底面和高度,动态创建节点

实用指南:Godot 城市模拟 – 003 根据不规则底面和高度,动态创建节点2025-10-17 22:48 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: aut…

JAVA 中断处理

目录背景和价值一、什么时候需要发起中断?1. 用户主动取消操作2. 程序优雅关闭时终止后台线程3. 超时任务处理4. 协作式终止长期运行的任务二、中断异常(InterruptedException)的处理正确的处理方式:1. 如果线程可…

软件工程学习日志2025.10.17

今天深入复习了BP(Backpropagation)神经网络,作为深度学习的基础,其“前馈计算误差,反向传播梯度”的思想贯穿现代许多复杂模型。记录关键点以备回顾:核心思想:双向流动的信息• 前向传播:数据从输入层经隐藏层…

天黑了,睡觉

大家好,晚安啦,拜拜。

升鲜宝生鲜配送供应链管理系统---- 门店收银 POS 离线工作设计文档(支持线上线下一体化)---02

门店收银 POS 离线工作设计文档(支持线上线下一体化)📘 背景与目标 在门店运营中,POS 端(收银机/安卓终端)经常会遇到以下情况: • 网络中断(Wi-Fi、4G、服务器不可达); • 临时维护或总部系统升级; • 云…

2025.10.16NOIP模拟

T1.略 T2.略 T3.思路简单,细节出锅 注意:线段树左右端点有负数时,不要用(l+r)/2,应用(l+r)>>1 T4. n行m列的网格,每个格子有一个权值\(v_{i,j}\)(\(-1e9<=v_{i,j}<=1e9\))和一个指示方向,假设起点为\…

Python 基于Python开发的数据库同步检测工具

程序源码下载地址 https://gitee.com/ishouke/database-checker 数据库同步检测工具 适用环境 win11 Centos7 工具用途 同类型数据库比对,比较库,库表,库模式(针对opengauss)是否一致,比较库表记录数是否一致。 目…

Python 基于Python开发的数据库同步检测工具

程序源码下载地址 https://gitee.com/ishouke/database-checker 数据库同步检测工具 适用环境 win11 Centos7 工具用途 同类型数据库比对,比较库,库表,库模式(针对opengauss)是否一致,比较库表记录数是否一致。 目…

当AI学会进化:荣耀与用户的“共生式成长”新范式

「 在科技与人文的交汇处,荣耀始终坚信,真正的创新不应仅是参数的堆叠,更应是一场关于“人”的深刻对话。 」荣耀CEO李健反复提及“灵魂马车”哲学,将对人的关爱、智慧的激发与快乐的传递融为一体,这一理念正悄然…

VSCode的下载安装以及配置

一、下载VSCode 1. 打开VSCode官网 https://code.visualstudio.com2. download下载3.下载特别慢二. 解决VSCode下载速度特别慢 1. 单击右下角全部显示 我是用chrome浏览器,点击右下角的全部显示按钮,可以跳转到下载内…

2025年终极公众号排版神器排行榜 最新案例研究权威测评

2025年终极公众号排版神器排行榜 最新案例研究权威测评谁还在为公众号排版头疼?有一云AI直接让这个问题成为历史。这款被多家白皮书列为行业标杆的工具,正在重新定义内容创作的标准。看看那些头部自媒体账号的排版,…

NAS安装远程协作神器twake

Twake Twake是一款开源可自托管的团队协作平台,把聊天、任务、文档、会议四件套塞进一个工具箱模块 功能点 详细说明🗨️ 实时团队沟通 • 频道 / 私聊 / 群组聊天 • 全局消息搜索 • 文件拖拽上传(文档 / 图片…

把三门问题做成了"游戏"

代码:<html><head><meta charset="UTF-8"> <meta name="screen-orientation" content="landscape"> <meta name="viewport" content="widt…

下一代CPU驱动高性能计算革新

本文探讨了CPU在高性能计算领域的持续主导地位,分析了x86、ARM和RISC-V等架构的竞争格局,并介绍了小芯片设计、封装内存和混合架构等创新技术如何推动CPU性能突破摩尔定律限制。CPU仍是高性能计算的支柱 尽管GPU在当…

[KaibaMath]1010 关于关于收敛数列有界性的证明

[KaibaMath]1010 关于关于收敛数列有界性的证明如果数列收敛,则数列必有界. 反之则不然,例如{(-1)^n}. 下面给出收敛数列有界性的证明.

卫星地图匹配定位 - MKT

卫星地图匹配定位GeoVINS:用于大规模无漂移空中状态估计的地理-视觉-惯性导航系统 https://ieeexplore.ieee.org/abstract/document/11176431

10.17 —— (VP) 2021icpc沈阳

自己 \(vp\) 区域赛以来最好的一把,赛时 \(5\) 题,罚时 \(607\),正式赛大概 \(rk 120\) 左右,属于是蒟蒻的超水平发挥了。尤其是 \(H\) 题最后半小时内想出正解并且 \(1A\),感觉真的特别爽。 \(E, F\) 纯签到。 \…

20251017

今天搞了半天vue的开发环境,我想在edge界面里使用vue2.0,安装vue.js devtools拓展后令人费解的来了,一打开开发者模式后就不能用vue了,不打开开发者模式的情况下还能用,后来尝试了诸多方法,比如edge中使用chrome…