- 博客(904)
- 资源 (26)
- 问答 (2)
- 收藏
- 关注

原创 深入探究C++2.0(C++11/14)【底层源码解析auto、智能指针、右值/万能引用、lambda表达式、并发编程】
文章目录0 背景1 内容0 背景因为C++11、14、17等相对与C++98来说,发生了巨大的改变,比如右值引用、可变模版参数、自动化类型推导、lambda、智能指针、tuple、Initialization_list等。可以说如果不了解C++2.0,可能看到这些特性编写的程序,就仿佛看到一门新语言一样。这些新的特性,并没有使得程序变得更加复杂,反而是使得程序更容易编写(如可变模版,可传递不限定的参数个数),并且提升了程序的效率(如右值引用,减少参数拷贝的时间消耗)。因此我觉得很有有必要了解并使用这些特
2021-04-15 23:38:47
672
3

原创 C++面向对象高级编程十九讲
文章目录0 背景1 内容0 背景因为本人的C++基础不是很扎实,很多面向对象的基本语法掌握的不是很熟练,导致写程序出错时,经常会犯错,于是就去网上找到了侯捷老师的C++课进行观摩学习。本文是在观看完侯捷老师的《面向对象高级开发》课程后一些笔记和心得。文中老师一直强调要养成写C++大气、正规、高效的编程方法,实际就是要培养良好的编程习惯。1 内容讲数标题第一讲防御式编程第二讲内联函数第三讲构造函数第四讲类第五讲常量第六讲参数传递第七
2021-04-01 22:51:23
595

原创 最好的C++入门书籍《Accelerated C++》 ——附全部课后习题答案以及学习心得
篇章目录1 内容简介2 作者简介3 心得与习题答案1 内容简介内容简介:《Accelerated C++ 中文版通过示例进行编程实践》系统介绍C++程序设计,是美国斯坦福大学的经典教材。从使用C++标准库中的高级抽象开始,使读者很快掌握编程方法。每一章都有很经典独特的例子以及非常到位的讲解,覆盖了C++更多领域的内容,从标准库容器、泛型算法的使用,到类的设计、泛型算法的设计,本书都进行了详细的...
2020-03-21 14:51:03
6568
2

原创 PAT甲【所有题目+解析+代码示例+总结】附带所有历年整体+讲解+代码
PAT (Advanced Level) Practice题目总结1001 A+B Format字符串处理1002 1002 A+B for Polynomials (25 分)简单模拟1003 Emergency (25分)——Dijkstra(邻接表、邻接矩阵)、Bellman_Ford、SPFA最短路径1004 Counting Leaves (...
2020-03-03 09:56:03
2570

原创 PAT乙【所有题目+解析+代码示例+总结】附带所有历年整体+讲解+代码
题目总结1001总结1002 写出这个数 (20 分)总结1003总结1004总结1005 继续(3n+1)猜想 (25 分)总结1006总结1007总结1008 数组元素循环右移问题 (20 分)总结1009 说反话 (20 分)总结1010 一元多项式求导 (25 分)总结1011 A+B 和 ...
2019-03-16 22:48:34
831

原创 蓝桥杯C++A、B组【所有题目汇总+解析+代码实例+总结】第三届~第十届
第九届蓝桥杯C++A组C++B组1,分数1,第几天2,星期一2,明码3,乘积尾零3,乘积尾零4,第几个幸运数4,测试次数5,打印图形5,快速排序6,航班时间6,递增三元组7,三体攻击7,螺旋折线8,全球变暖8,日志统计9,倍数问题9,全球变暖10,付账问题10,乘积最大总结归纳总结归纳第八...
2019-03-16 22:06:37
3435

转载 20几岁,你的存款有多少?
看到这个标题,很多人的第一反应可能是,开什么玩笑,20几岁我才刚毕业,能有多少存款。 这个标题是去年我在一个公众号上看到的一个话题,作者发了一篇这样的推文,内容只有这几个字:“20几岁,你有多少存款?”为的是征集广大读友的答案。 刚开始看到这个话题,我和大多数人的反应也是一样,觉得考虑到存款多少的问题,至少也应该在工作了几年奔三的时候。 然而,当我看到网友对这个话题的评论后...
2019-02-11 20:38:24
724

转载 如果你到了25岁,还没到30岁。——李开复
如果你到了25岁,还没到30岁。——李开复如果你已经过了25岁但还不到30岁的话,你必须找到除了爱情之外,能够使你用双脚坚强站在大地上的东西。你要找到谋生的方式。现在考虑不晚了。我从来不以为学历有什么重要,天才都不是科班,但,不是科班,连龙套都跑不了。你必须把那些浮如飘絮的思绪,渐渐转化为清晰的思路和简单的文字。不要琐碎,无病呻吟。不要想到什么就写。不要流连于小感伤和小感动。我要你相...
2019-02-11 20:18:22
617
原创 Qt使用QGraphicsView绘制线路图————附带详细实现代码
/1,创建场景: 场景是不可见的,是一个抽象的管理图形项的容器,可向场景中添加图形项,获取场景中的某个图形项等//3,图形项类(QGraphicsItem)://该类提供了一些基本的图形元件,也可在此基础上自定义图形项,它支持各种事件的响应,如鼠标事件、键盘事件、拖放事件等,以实现图形的交互功能/*------画线路------*///主干线//道岔//画灯。
2025-03-31 22:45:00
824
1
原创 Qt实现使用TCP与RS485串口设备通信————附带详细实践方法
1,上位机电脑与RS485串口的设备硬件仪表设备直接通信,使用的是modbusRTU协议。2,上位机电脑如果使用TCP协议,与RS485串口的设备硬件仪表设备间接通信,则需要借助ModbusTCP协议。然后中间设备把ModbusTCP协议协议中的包体拆解为ModbusRTU协议的内容,传递给硬件仪表设备。Modbus是一种串行通信协议,是Modicon公司(现在的施耐德电气 SchneiderElectric)于 1979 年为使用可编程逻辑控制器(PLC)通信而发表。Modbus已经成为工。
2025-01-02 23:15:00
1486
原创 Qt绘制仪表————附带详细说明和代码示例
下面仪表模拟的是转速表和速度表,转速表中有怠速转速,降功转速的逻辑。下面是模拟双针仪表的效果:1,重写进行仪表绘制,使用进行动画绘制;2,进行属性动画绘制时,需要使用用于声明类的属性;下面代码位调用方法,接口的具体实现在后文中有详细描述。发射的信号:创建仪表类并设置参数:3.1 创建仪表属性类3.2 设置类属性创建对应的函数:3.3 绘制图案在类绘制事件中,添加各种绘制信息:3.3.1 设置反走样3.3.2 绘制背景3.3.3 重新定义坐标原点调整之前:调整之后:实
2024-12-13 22:30:00
1335
原创 Qt编写区位码gb2312、机内码、国标码————附带详细介绍和编码实现
在网络传输过程中:A要给B传输一个数据,如果A传去的数据是用GB2312-80编的,而B读取地方式是用ASCII方式的,GB 2312-80将区位码传过去,当B收到时会先读到区码,因为区码和位码的范围用十进制表示都是0~93,如果此时的区码的十进制是6,那么ASCII对应的6则是ACK,会发现ACK是回包的指示。3,通信字符:0~32,比如6,ACK,在两个电脑通信时,会一方接到另一方传来的数据时,就会回一个ACK包。,在7位的最前面补一个0,变成8位(bit),即一个字节(Byte)。
2024-12-13 22:00:00
798
原创 搭建文件服务器并使用Qt实现文件上传和下载(带账号和密码)
1,安装(https://www.myfreax.com/how-to-setup-ftp-server-with-vsftpd-on-debian-11/)常用的文件服务器有apache、npm、ftp,这里选择的apache2,因为搭建和使用都比较方便。因为需要使程序具备在远程软件在服务器的上传和下载文件的功能,所以研究了一下怎么实现。-g 参数代表全局安装一定不要省略,全局安装后,全局都可以使用。这里下载使用的是post方法,而没有使用get。2,在需要共享的文件夹下,运行。2,新建ftp登录账户。
2024-11-25 23:30:00
738
原创 Qt 多线程TCP客户端使用QTimer进行重连服务器———附带详细代码和讲解
【Qthread类】后,运行到了m_dealTcpClientThreadOne的run函数中的线程B中。在子线程中,使用Qtimer来进行定时重连TCP服务器,总是会出现跨线程创建和使用问题。2,不能在一个线程中启动定时器关联的对象,而在另一个线程释放(析构)此定时器关联的对象。对象功能函数(收、发服务器数据的函数)都是运行在Qthread类的run函数的线程中。原因:定时器相关的逻辑和数据结构与线程关联,只能在同一个线程中。1,不能为属于不同线程的父对象创建子对象;的运行的线程是不一样,不属于同一个。
2024-09-20 21:00:59
1162
原创 linux(debian)迁移var数据到已分配逻辑卷的物理盘
删除LVM之前创建的物理卷,卷组,逻辑卷时,删除顺序应该与创建时的顺序相反。也就是卸载文件系统,删除逻辑卷,删除卷组,删除物理卷。卸载文件系统时需要注意:如果之前没有更新。在sda5中,创建新分区,然后把sdc1分区的var文件放到sda5的分区中。迁移var目录的数据回sda盘中。
2024-08-13 21:45:00
698
原创 linux(debian)迁移home到其他物理盘并扩容——————附带详细步骤
注意:Linux系统使用逻辑卷来模拟物理分区,并在其中保存文件系统。Linux系统会像处理物理分区一样处理逻辑卷,允许你定义逻辑卷中的文件系统,然后将文件系统挂载到虚拟目录上。删除LVM之前创建的物理卷,卷组,逻辑卷时,删除顺序应该与创建时的顺序相反。也就是卸载文件系统,删除逻辑卷,删除卷组,删除物理卷。因为在装debian系统时,home目录和系统目录都在同一个物理盘上(使用LVM安装)。后面新添了物理硬盘,需要做到存储系统和数据的物理硬盘分离。注意:pvcreate定义了用于物理卷的物理分区。
2024-08-12 23:30:00
1333
原创 windows10和linux(debian12)设置静态ip————附带详细过程
因为下位机只能获取固定的ip(ip池很小)和端口,故需要设置静态的服务器的ip。由于服务器可能部署到windows或者debian上,所以需要在这两个操作系统上设置静态ip。如果遇到如下的问题,并且上不了网,那就可能是静态设置的ip和DHCP服务器动态分配的ip重复了。dns域名服务器为8.8.8.8(Google提供的一个公共DNS服务器地址)如果路由器是TP-Link,则在游览器中输入。可以通过如下的指令,看到网卡接口的名称为。,然后设置自己的静态ip地址和其他信息;从路由器设置中,查看DNS服务器。
2024-08-12 22:45:00
2312
原创 搭建个人网站之Docusaurus(最新3.4版本)超详细安装和使用说明————附带详细步骤
因为需要快速搭建一个文档网站,要求是简单、方便修改。之前使用过wordpress、typecho、Hexo来搭建个人博客网站,但是感觉都有些臃肿,不是那么简约和容易上手。nodejs安装:https://nodejs.org/en/download/package-manager。中文网:https://www.docusaurus.cn/docs/installation。英文网:https://docusaurus.io/docs/playground。,拥有活跃的社区支持和持续的迭代更新。
2024-07-19 22:30:00
3942
原创 qt5.15.2打包应用程序(附带mysql数据库连接)————附带详细步骤
因为Qt程序打包后,遇到了很多问题,例如无法定位程序输入点,数据库驱动无法载入的情况。通过查阅很多资料和实践操作,最终解决了问题。本文就是记录解决问题的方法。3,把之前编译数据库的链接文件,放到运行程序的同级目录下(因为是使用mariadb编译的数据库,所以用的也是mariadb的库文件);1,打开qt命令端软件;2,输入打包命令,例如。
2024-07-01 23:15:00
543
原创 qt中数据库和excel互导数据————附带详细步骤和代码
因为需要批量导入和导出数据,所以需要用到excel。实现把数据库的数据导入到excel中,把excel中的数据导出到数据库。这里使用了开源代码库QXlsx。没有设置, QXlsx’s的 CMakeLists.txt 将尝试自己寻找 Qt 版本(5 或 6)。数据库中的login_information表。2,把数据库中表的数据导出到excel中;1,建立数据库连接,同上;
2024-07-01 21:30:00
1990
原创 Qt数据库MySQL事务处理sql语句——————附带详细代码
数据库操作的时候,有多个数据库操作,需要一起运行,要么全部执行,要么全部不执行。需要用到事务处理,数据库里操作就是执行sql语句“START TRANSACTION;可以在代码中,执行操作后,却并不能达到事务处理的效果,查阅相关资料和实验后,最后下面的方法可以实现数据库的事务操作。
2024-06-13 23:45:00
429
原创 qt 实现模拟实际物体带速度的移动(水平、垂直、斜角度)——————附带完整代码
可以显示属性(继承自。左上(位于第三象限)右上(位于第四象限)右下(位于第一象限)左下(位于第二象限)
2024-06-13 23:15:00
1253
原创 windows10使用触控板、鼠标(magic trackpad)———附带BootCamp6驱动下载链接
最近在台式机(windows10系统)上使用mac设备,键盘magic keybord连上数据线就可以直接使用,但是触控板magic trackpad却不行,只有鼠标左键,没有右键,滑动等功能,功能残缺。最后通过,网上查阅相关资料,安装相关驱动,解决了此问题。链接:https://pan.baidu.com/s/1U_Wm5DsEJZZ2Vy1EeBYvdQ?解压上面三个压缩文件;
2024-06-09 08:15:00
3423
原创 编译qt5.15.2(mac/windows)的mysql驱动(附带编译好的文件)
链接:https://pan.baidu.com/s/1m15DbFuFTtXfEyqyOS2cew。因为需要连接到mysql数据库,所以需要连mysql驱动。4,把编译好的mysql放入到如下文件夹。3,编译文件,得到mysql驱动;2,添加mysql的外部关联库;中,把mysql的库文件也放入到。
2024-05-21 21:00:00
904
原创 编译Qt6.5.3LTS版本(Mac/Windows)的mysql驱动(附带编译后的全部文件)
因为项目要用到对MYSQL数据库操作,所以需要连接到MYSQL数据库。但是连接需要MYSQL驱动,但是Qt本身不自带MYSQL驱动,需要自行编译。网上有很多qt之前版本的mysql驱动,但是没有找到qt6.5.3版本的,所以只好自己编译。
2024-04-29 22:02:10
1436
1
原创 qt安装历史版本5.15.2
因为需要,所以需要安装qt5的最后一个版本qt5.15.2,但是下载qt安装器后,发现没有想要的版本。后面才发现,可以筛选历史版本进行安装。
2024-04-29 22:00:12
1091
原创 Python实现时间序列ARIMA模型(附带超详细理论知识和完整代码实现)
时间序列分析的基本思想:寻找系统的当前值与其过去的运行记录(观察数据)的关系,建立能够比较精确地反映时间序列中动态依存关系的数学模型,并借此对系统的未来行为进行预报。ARIMA模型(Autoregressive Integrated Moving Average model,差分整合移动平均自回归模型,又称整合移动平均自回归模型(移动也可称作滑动)),是时间序列预测分析方法之一。ARIMA(p,d,q)中,AR是“自回归”,p为自回归项数;
2024-04-15 23:01:32
22833
5
原创 设计模式学习笔记(知识点与代码实践)
所以一直拖到现在。之前写项目也接触过一些零散的设计模型,却一直没有系统的学习过,这次就是系统的学习这方面的知识。本文就是学习心得和代码实践的记录。设计模式其实很早就想学习了,
2024-04-15 23:01:22
372
原创 error: failed to push some refs to hint: Updates were rejected because the tip of your current branc
指令相当于,首先切换到feature分支,然后把master分支合并到feature分支上。这样导致的结果就是feature分支的历史提交基底,由原理的B节点,变更为M节点。这样会导致不知道当前分支最早是从哪个分支拉出来的,也就是历史提交记录混乱。因为在网页端修改了项目,修改了文件,导致远程端仓库和本地仓库不一致,也就是出现了不同分支。因此解决办法就是合并分支。下图中,远程master上有一个新提交M,本地仓库feature上有两个新提交C和D,问题结局后,把项目推到远程仓库,最后把暂存的修改取出。
2024-04-14 08:15:00
894
原创 Python项目移动文件夹后出现ModuleNotFoundError: No module named
移动Python项目后,source root(项目中存储源代码的根目录)发生了改变,导致python的环境变量中缺失了当前项目的路径。然后重新打开项目,项目可以正常运行,并且红色报错的地方会消失。移动Python的项目文件夹后,代码出现模块引用未知的问题。对着pythonProject文件夹点击右键,选择设置为。添加后项目可以正常运行,但是错误还是会爆红。
2024-04-14 00:15:00
795
原创 策略者模式(代码实践C++/Java/Python)————设计模式学习笔记
实现要求:鸭子共有三种行为,游泳行为(所有鸭子都会),飞行行为(能飞/不能飞/具有火箭动力的飞行),叫声行为(嘎嘎叫/吱吱叫/什么都不会叫),不同具体鸭子(绿头鸭/模型鸭/…)飞行行为和叫声行为可能不一样。此篇为实现篇下,如果对策略者模式不熟,
2024-04-13 21:11:51
1416
原创 策略模式(知识点)——设计模式学习笔记
实现要求:鸭子共有三种行为,游泳行为(所有鸭子都会),飞行行为(能飞/不能飞/具有火箭动力的飞行),叫声行为(嘎嘎叫/吱吱叫/什么都不会叫),不同具体鸭子(绿头鸭/模型鸭/…1,初始想法(继承):设计基类鸭包含具体鸭的所有共有行为,具体鸭继承基类鸭后的功能,但是给基类鸭添加某些功能代码后,可能会导致具体鸭有不该有功能。2,改进:把变化的部分抽取出来,设计为接口,让具体鸭继承基类鸭和飞行行为、叫声行为的接口。1,当你想使用对象中各种不同的算法变体, 并希望能在运行时切换算法时, 可使用策略模式。
2024-04-13 17:32:22
1406
原创 error: src refspec master does not match any
在把文件推送到远程仓库时,出现了如下错误。错误原因:没有“master”分支。2,创建新分支并转移到新分支;
2024-04-13 11:07:21
1473
原创 Python实现灰色预测模型————在极少数据量的条件下进行数据预测
灰色预测具有操作简单、所需数据量少的优点 ,一般只要 4 个数据便可依据灰色预测序列进行预测。预测了海王星的出现,而灰色预测便是后面科学家发展出来的一种常微分方程预。随机变量看作是在一定范围内变化的灰色变量,将随机过程看作是在一定范围内。灰色理论对数据的处理方法不再是简单的从数。理统计规律出发来对待灰色变量,而使用数据处理的方法,将原始数据整理成规。律性数列再进行研究。灰色理论自从产生以来,得到了广泛的应用。GM 1,1) 模型是灰色理论常用的预测模型。2,求出所有预测数据的残差的标准差 S 2;
2024-03-31 10:02:25
1448
1
原创 使用Python简单筛选excel表数据并写入到新表
使用pandas库,读取excel表格的数据。然后对表格中的数据进行筛选,使用。因为需要检索excel中的一些信息,把检索后的结果,写入到新表中。来判断数据中是否包含字段中的关键字,最后,再把数据写入到新表格中。来判断数据中是否等于字段中的内容,使用。
2024-03-31 09:34:51
1460
原创 LCP 06. 拿硬币———附带思路和完整代码
文章目录0 效果1 题目2 思路3 代码0 效果1 题目2 思路如果硬币数n是偶数,拿硬币次数位n/2;n是偶数,拿硬币次数位n/2 + n%2。3 代码class Solution {public: int minCount(vector<int>& coins) { int ans = 0; for(auto i:coins){ ans += i/2 + i%2; } r
2024-03-04 18:00:00
763
原创 LCP 01. 猜数字———附带思路和完整代码
文章目录0 效果1 题目2 思路3 代码0 效果1 题目2 思路暴力枚举。3 代码class Solution {public: int game(vector<int>& guess, vector<int>& answer) { int ans = 0; for(int i = 0;i < 3;i++){ ans += guess[i] == answer[i] ? 1 : 0
2024-03-01 08:02:30
443
1
原创 二叉树k层的叶子结点个数
层序遍历二叉树,记录某层的二叉树叶子结点个数。没有目标层时,让该层结点的孩子结点入队;到达目标层时,不再让该层的孩子结点入队,统计队中(该层)叶子结点的个数。假设二叉树采用二叉链表存储结构,设计一个算法求其指定的第k层(k>1,跟是第1层)的叶子结点个数。设置一个全局变量记录某层叶子结点个数,前序遍历二叉树,并在遍历的过程中记录结点的层数。
2023-12-03 22:15:00
643
原创 高效学习工具之AnkiMobile新手入门指南(ios端,包括ipad、ihpone设备)————创建、使用、备份、设置参数、相关资料
anki是通过设置复习间隔(选择不同难易程度)来进行辅助记忆软件的。研究表明,通过在每个项目复习之间添加延迟,而不是在短时间内多次复习,您可以获得更好的结果。复习之间的这种延迟称为“间隔重复”。
2023-10-30 18:28:43
8110
2
原创 旋转数组的最小值
如,数组{3,4,,5,1,2}为有序数组{1,2,3,4,5}的一个旋转数组,该数组的最小值为1。将旋转后的数组看成两个升序的子序列,即查找一个元素(使用二分查找法),满足的条件为比相邻左边的元素小,也比相邻右边的元素小(如果存在的话)。旋转后的数组{2,3,4,5,1},1比左边的5小,无右边的元素;旋转后的数组{3,4,5,1,2},1比左边的5小,比右边2小;旋转后的数组{4,5,1,2,3},1比左边的5小,比右边2小。例如:原数组{1,2,3,4,5},空间复杂度:O(1)空间复杂度:O(1)
2023-10-24 00:00:00
263
Qt WIndwos和Linux下的SSL文件
2021-05-11
Qt post请求发送和解析json数据完整示例,有完整的设置框架,可以发送和解析多个post请求
2021-03-14
loginTest.zip
2020-04-20
QSetting操作ini文件(包括增删改查),自己封装了QSetting类
2020-04-20
QtTcpImage-master.zip
2020-04-19
OpenCV 3计算机视觉:Python语言实现——高清版带书签全书+源代码
2019-04-05
ACM国际大学生程序设计竞赛:算法与实现(高清完整带书签版)
2019-03-20
590412 数据结构、算法与应用 C++语言描述 原书第2版——高清扫遍版带书签
2019-03-19
TA创建的收藏夹 TA关注的收藏夹
TA关注的人