自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(95)
  • 收藏
  • 关注

原创 【C++核心技术深度解析:从继承多态到STL容器 】

继承是面向对象编程的核心机制,通过让子类(派生类)复用父类(基类)的属性和方法,同时支持新增专属功能。单继承:子类仅继承一个父类(如),遵循is-a关系(学生是人)。多继承:子类继承多个父类(如),可能引入钻石继承问题。继承机制 → 单继承/多继承 → 钻石问题/虚继承多态原理 → 虚函数表/动态绑定 → 析构函数/抽象类数据结构 → BST/红黑树 → set/map实现哈希表 → 冲突解决(开散列/闭散列) → unordered系列。

2025-05-06 21:05:33 866

原创 【C++容器与模板核心知识点解析:面试官常问问题总结 】

容器适配器本质不独立实现数据存储,而是封装其他容器(如dequevector)的接口,暴露特定操作(如栈的LIFO、队列的FIFO)。默认底层容器stack和queue默认使用deque,因其头尾操作高效(deque的push_backpop_back和push_frontpop_front均为O(1))。

2025-05-06 20:44:39 735

原创 【 C++核心知识点面试准备:从内存管理到STL与模板 】

在已分配的内存上显式调用构造函数,语法为。

2025-04-29 08:43:46 693

原创 【C++类与对象高频面试问题总结2】

封装:将数据与操作结合,隐藏内部细节,仅暴露必要接口。实现public:类外可直接访问(接口函数)。private:仅类内访问,需通过公有函数操作(数据校验)。protected:派生类可访问(继承时使用)。示例:将成员变量设为private,提供public的Init()和Print()函数管理数据,避免外部直接篡改。概念对比:清晰区分易混点(如classvsstruct、浅拷贝 vs 深拷贝)。内存模型:强调对象大小仅含成员变量(对齐规则),成员函数不占对象内存。this指针。

2025-04-28 10:31:51 1003

原创 【C++ 核心知识点面试攻略:从基础到实战(上位机开发视角)】

匿名命名空间适用于封装仅在当前文件使用的辅助函数或变量,避免污染全局作用域(如上位机日志模块的内部工具函数)。:命名空间清晰隔离不同设备的协议逻辑,便于扩展(新增设备时只需新增命名空间分支),同时保持接口统一。,通过将变量、函数、类等封装在特定的命名空间内,形成逻辑隔离的作用域。:QQMusic项目中,歌词时间轴的调试日志使用。:上位机初始化设备时,全缺省参数可简化调用(如。:若需显示设备温度(保留两位小数),C++的。),保证绑定后不可更改指向,兼具安全性和效率。会导致函数重载歧义,引发编译错误。

2025-04-28 08:45:07 787

原创 QQMusic项目功能总结

控件名称继承类核心属性关键函数功能描述BtFormQWidgetid(页面索引)左侧功能按钮,带图标、文本和动画效果,点击切换页面,通过信号槽与QStackedWidget联动RecBoxQWidgetrow(行数)、col(列数)推荐页轮播容器,管理RecBoxItem,支持左右翻页和分组显示CommonPageQWidget通用页面模板,统一管理“我喜欢”“本地下载”“最近播放”页面,通过QListWidget显示歌曲列表QWidgetQWidget。

2025-04-26 16:54:08 773

原创 【QQmusic】复习笔记第四章分点讲解

该部分实现了从本地磁盘加载音乐文件到程序中,并在界面上显示的功能。通过类创建文件选择对话框,用户可选择多个音乐文件,程序筛选出有效音频文件后,交由MusicList类管理,并更新到本地音乐页面显示。MusicList类统一管理音乐对象:存储所有加载的音乐文件(Music实例),支持添加、查找、筛选等操作。格式筛选与唯一性保证:过滤无效文件格式,避免重复加载相同音乐。与数据库交互:实现音乐信息的持久化存储与读取(后续结合数据库模块)。Music类数据封装。

2025-04-26 16:23:40 609

原创 【Qt】信号与槽:构建灵活交互的核心机制

在Qt框架中,信号与槽机制是其核心特性之一,它为对象间的通信提供了一种灵活、松散耦合的解决方案。无论是用户界面交互还是自定义模块间的协作,信号与槽都扮演着至关重要的角色。本文将从基础概念到高级应用,全面解析这一机制,帮助开发者掌握Qt编程的核心思想。事件:用户与控件的交互动作(如点击按钮、关闭窗口)在Qt中被称为事件。信号:事件发生时,控件或对象发出的通知。例如,按钮点击会发出clicked()信号,窗口关闭会发出close()信号。信号本质是由事件触发的函数,由signals关键字声明,无需实现。槽。

2025-04-26 09:54:25 960

原创 【C++】内存管理+new/delete

本文聚焦C++动态内存管理,对比C语言的与C++的new/delete,解析new/delete在自定义类型初始化、资源管理及底层实现上的优势。同时介绍定位new表达式的用法,帮助理解C++内存管理的核心机制与工程实践。构造/析构自动调用:class A {public:A() { cout << "A构造" << endl;~A() { cout << "A析构" << endl;// C语言方式:需手动管理构造// C++方式:自动调用构造函数// 输出"A构造"delete p2;

2025-04-26 09:54:21 778

原创 【C++和C语言对比】

本文通过对比C语言与C++在“栈”数据结构实现上的差异,深入解析C++中**封装(Encapsulation)**这一面向对象核心特性的技术逻辑与工程价值。通过虚构的“C++之父改进C语言”场景,生动呈现从面向过程到面向对象的设计思想演进,帮助开发者理解封装如何解决数据暴露、生命周期管理等痛点,以及其在代码安全性和可维护性上的核心优势。C++通过class将数据(成员变量)与操作(成员函数)封装为统一体,使用访问限定符(publicprivatepublic:// 公开接口int Top();

2025-04-26 09:54:14 920

原创 【C++ 】多态与抽象类

C++ 的继承机制中,多态(Polymorphism)和抽象类(Abstract Class)是实现代码复用与面向对象设计的关键特性。本文将结合实例,深入解析这两大核心概念,帮助开发者理解面向对象编程的精髓。纯虚函数:在基类中声明时用=0修饰,无具体实现,仅作为接口存在。public:// 纯虚函数,子类必须重写抽象类:包含至少一个纯虚函数的类,无法实例化对象,仅用于被继承。多态与抽象类是C++面向对象编程的灵魂,通过“接口统一、实现分化”,实现了代码的可扩展性与可维护性。

2025-04-26 06:15:00 584

原创 【QQMusic项目复习笔记——音乐管理模块详解】第四章

在QQMusic这样的音乐软件里,音乐管理模块可是非常重要的。这篇笔记会详细地给你讲解第4章的内容,把代码和逻辑结合起来,让你轻松理解怎么实现这么厉害的音乐管理功能。这部分主要是针对CommonPage页面在显示音乐列表时可能会出现的各种显示问题进行优化。在显示音乐信息时,可能会存在文本对齐不整齐、显示有延迟、滚动条样式不美观等情况。通过对这些问题的处理,可以确保界面显示的一致性和美观性,提升用户的视觉体验。解耦设计MusicList和Music。

2025-04-26 00:29:10 1071

原创 【QQmusic自定义控件实现音乐播放器核心交互逻辑】第三章

在QT开发的世界里,自定义控件就像是神奇的积木,我们可以用它们搭建出功能强大、界面美观的应用程序。在QQMusic项目中,第3章的内容就聚焦于各类自定义控件的设计与实现。这些控件不仅提升了音乐播放器的界面美观度,还大大增强了用户体验。接下来,让我们深入剖析这些自定义控件,通过详细的代码注释和清晰的逻辑分析,来理解它们的工作原理。进度条是音乐播放器里很重要的一个组件,我们可以通过它来控制音乐的播放进度。// 获取鼠标相对于控件的x坐标// 更新进度条位置// 限制进度条宽度不超过控件宽度。

2025-04-26 00:12:55 1214

原创 【QQMusic项目界面开发复习笔记】第二章

在Qt项目开发中,界面设计是用户交互的重要环节。本次复习围绕QQMusic项目的界面开发展开,通过Qt Designer和代码结合的方式,实现了界面布局、美化及交互功能。本文将详细解析界面开发的关键步骤和核心技术点。功能:按钮包含图标、文本和动画效果(点击时右侧竖条跳动)。信号槽:点击按钮时发送信号,切换堆叠窗口页面。// BtForm头文件声明信号signals:// 携带页面ID// 点击事件处理// 发送页面ID信号// 切换按钮样式");// 绿色背景。

2025-04-25 23:56:07 968

原创 【基于Qt的QQMusic项目演示第一章】从界面交互到核心功能实现

在Qt学习过程中,为了将理论知识转化为实践能力,我尝试开发了一个仿QQ音乐的播放器项目。该项目基于Qt框架,涵盖界面设计、交互逻辑、媒体播放控制等核心模块,旨在通过完整的项目实践强化Qt知识的综合应用。本文将详细解析项目的核心功能与技术实现,适合Qt学习者复习与参考。BtForm:封装按钮图标、文本、动画逻辑,通过setIcon()和setId()配置不同功能,减少重复代码。做更好的自己,而不是完美的别人。做你喜欢的事情容易,但做你该做的事,才叫成长。努力让自己变得切实,而不只是一团混乱的情感。

2025-04-25 23:47:44 915

原创 【基于Qt的QQ音乐播放器开发实战:从0到1打造全功能音乐播放应用】

在Qt框架的学习旅程中,理论知识的积累需要通过实践项目来深化理解。作为一名专注于C++和Qt开发的学习者,我决定通过开发一个完整的音乐播放器项目,将所学的界面设计、自定义控件、媒体播放、数据库集成等知识串联起来。这个项目不仅是对所学内容的综合检验,更是一次从需求分析到项目落地的全流程实战。接下来,我将以详细的技术解析和开发步骤,带你走进这个项目的完整实现过程。控件拖拽:从Qt Designer拖拽Widget作为Head容器,设置固定高度80px,水平布局。左侧图标区。

2025-04-25 10:29:56 929

原创 【C++】 默认成员函数

三种形式无参构造函数(如Date()全缺省构造函数(如编译器生成的隐式无参构造函数(用户未定义任何构造函数时)。唯一性限制:一个类最多只能有一个默认构造函数,否则会因二义性编译报错。编译器生成的默认构造函数对内置类型成员(如intdouble不执行初始化,值为随机垃圾值;对自定义类型成员,调用其默认构造函数(需该类型存在可访问的默认构造函数)。参数要求:唯一参数必须是类对象的引用(通常加const。

2025-04-25 06:30:00 830

原创 【C++】继承

继承是 C++ 面向对象编程的重要特性,可实现代码复用,构建类的层次结构。下面将详细介绍 C++ 继承的相关知识。Student 是子类,Person 是父类,继承方式为 public。做更好的自己,而不是完美的别人。做你喜欢的事情容易,但做你该做的事,才叫成长。努力让自己变得切实,而不只是一团混乱的情感。有时候放弃容易,但坚持一定很酷。知识不是力量,只有应用知识才是真正的力量。有两种选择活着:忙着死,或忙着活。坚持住就能突出,坚持不住就会被淘汰。你的野心很大,所以你没资格停下来。

2025-04-24 20:28:23 960

原创 【C++】引用(下)【深度全面解析】

今天我们接着上一篇文章继续学习C++引用(上)继续学习C++引用相关的知识,码字不易,希望多多支持!引用概念上定义一个变量的别名,指针存储一个变量地址。引用在定义时必须初始化,指针没有要求引用在初始化时引用一个实体后,就不能再引用其他实体,而指针可以在任何时候指向任何 一个同类型实体没有NULL引用,但有NULL指针在sizeof中含义不同:引用结果为引用类型的大小,但指针始终是地址空间所占字节个数(32 位平台下占4个字节)

2025-04-10 11:56:25 939

原创 【算法】----多重背包问题I,II(动态规划)

今天我们接着上一篇博客继续学习背包问题:多重背包问题,这里将介绍完全背包问题的二维解法和一维解法以及优化版本,希望你可以喜欢。

2025-02-20 16:40:26 635

原创 【算法】------区间问题(贪心)

今天我们继续学习算法,备战蓝桥杯,加油。这篇文章写的是区间问题,使用了贪心思想。希望这篇可以有幸帮助到你,码字不易,请多多支持。

2025-02-20 16:39:37 1023

原创 【复习必备】C语言中的文件操作

今天这篇文章我们是学习:C语言中的文件操作,这一块知识点还是蛮重要,对于我们学习后续Linux过程有不少的帮助,希望我这篇文章可以帮到你,如果感觉我的文章对你有帮助,记得一键三连哦!

2023-09-24 11:51:31 276

原创 【C++】类和对象(上)

今天我们继续学习C++的知识点—类和对象,创作不易,希望各位多多支持C语言结构体中只能定义变量,在C++中,结构体内不仅可以定义变量,也可以定义函数。比如:之前在数据结构初阶中,用C语言方式实现的栈,结构体中只能定义变量;现在以C++方式实现,会发现struct中也可以定义函数。这是C++中的可以运行,C语言中不可以运行:ListNode是类名,而在C语言中必须加上struct!!!上面结构体的定义,在C++中更喜欢用class来代替。// 类体:由成员函数和成员变量组成 };

2023-06-26 19:10:29 411

原创 C++小知识点(for,nullptr)

今天学习一些C++的小知识点,便于加深对C++的理解,码字不易,希望多多支持1.太多的事,慢慢地就不能做了;太多的人,渐渐地就不见了。成长似乎是一个丢失的过程。青春,就是注定了要颠簸,要有眼泪和汗水,有委屈、不甘和失败。后来,慢慢知道一切该发生的就是会发生,一切会错过的就是会错过。2.趁自己还不老,走自己想走的路。没有理由,不去闯!时间,抓起了就是黄金,虚度了就是流水;理想,努力了才叫理想,放弃了那只是妄想!努力,虽然不一定会获得,但不努力,就一定一无所获。3.趁自己还不老,走自己想走的路。

2023-05-23 21:20:00 825 1

原创 C++小知识点(auto关键字)

今天我们学习一些关于C++的一些小知识点,码字不易,希望多多支持在早期C/C++中auto的含义是:使用 auto修饰的变量,是具有自动存储器的局部变量 ,但遗憾的是一直没有人去使用它,大家可思考下为什么?C++11中,标准委员会赋予了auto全新的含义即:auto不再是一个存储类型指示符,而是作为一个新的类型指示符来指示编译器,auto声明的变量必须由编译器在编译时期推导而得。

2023-05-23 20:54:20 1593

原创 【C++】内联函数----inline函数的详细使用教程

今天我们来学习C++中的一个比较重要的关键字–inline函数(内联函数),码字不易,希望多多支持!!!因此宏函数极易出现错误。这个知识点容易出错,但是面试的时候易被问到。inline不建议声明和定义分离,分离会导致链接错误。因为inline被展开,就没有函数地址了,链接就会找不到。只要是内联函数,函数定义与声明分离的时候,内联函数的函数地址不会进符号表,要不然还要判断编译器是否应用内联函数,这样太复杂了!!!1.一个冷知识:屏蔽力是一个人最顶级的能力,任何消耗你的人和事,多看一眼都是你的不对。

2023-05-13 21:35:15 15736 29

原创 【基础算法】大数运算问题

今天我们继续学习算法,加油。这篇文章写的是大数运算问题。希望这篇可以有幸帮助到你,码字不易,请多多支持。

2023-05-04 22:01:01 631 2

原创 函数栈帧的创建和销毁【汇编语言理解】

人生就是一次次的选择,每个选择都会影响到未来的自己。

2023-04-24 09:53:57 275 5

原创 【C++】引用(上)【深度全面解析】

今天我们来学习C++很重要的知识点:【引用】,这里会详细讲解到C++引用的各种知识,码字不易,请多多支持

2023-04-11 01:09:58 1441 35

原创 【算法】----多重背包问题I,II(动态规划)

今天我们接着上一篇博客继续学习背包问题:多重背包问题,这里将介绍完全背包问题的二维解法和一维解法以及优化版本,希望你可以喜欢。

2023-03-31 22:51:59 1130 7

原创 【算法】----完全背包问题(动态规划)

今天我们接着上一篇博客继续学习背包问题:完全背包问题,这里将介绍完全背包问题的二维解法和一维解法,希望你可以喜欢。有 N 种物品和一个容量是 V 的背包,每种物品都有无限件可用。第 i 种物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。fijf_{i,j}fij​表示前iii个物品,背包容量为jjj时的最大价值。fjf_jfj​表示背包容量为jjj时的最大价值。

2023-03-29 17:58:48 1830 18

原创 【算法】----01背包问题(动态规划)

今天我们来学习一下一个经典Dp问题----背包问题,这里将详细介绍背包问题的二维解法和一维解法。码字不易,请多多支持。

2023-03-26 21:26:10 11839 14

原创 【基础算法】双指针---判断子序列

今天我们继续学习双指针问题:【判断子序列】,码字不易,请多多支持!

2023-03-07 23:38:30 375 2

原创 【基础算法】双指针---数组元素的目标和

今天我们继续学习双指针问题:【数组元素的目标和】,码字不易,请多多支持!

2023-03-05 09:00:14 676 21

原创 【基础算法】双指针---最长连续不重复子序列

今天我们来继续学习双指针的算法例题,【最长连续不重复子序列】,码字不易,请多多支持。

2023-03-03 17:02:20 1338

原创 【数据库的基础知识】(2)

今天接着上一篇文章【【数据库系统概论】基础知识总结】继续接着写,码字不易,请多多支持!现实世界的实体以及实体间的各种联系均用关系来表示◼ 针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求◼ 关系模型应提供定义和检验这类完整性的机制,以便用统一的系统的方法处理它们,而不要由应用程序承担这一功能1、关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。2、关系操作︰查询操作和插入、删除、修改操作两大部分。

2023-02-28 19:30:00 819 17

原创 【基础算法】双指针----字符串删减

今天这篇文章我们学习双指针,这次要讲解双指针的经典问题:字符串删减。码字不易,请多多支持!

2023-02-27 20:30:00 482

原创 【数据库系统概论】基础知识总结

今天这篇文章我们来复习一下数据库系统概论的基础知识,码字不易,请多多支持!首先先写上几句话:献给坚持创作的我和点开这篇文章希望进步的你1.也许你要早上七点起床,晚上十二点睡觉,日复一日,踽踽独行。但只要笃定而努力地活着,即使生不逢时,你人生最坏的结果,也只是大器晚成。2.一个人,风尘仆仆地活在这个世界上,要为喜欢自己的人而活着,这才是最好的态度。不要再不喜欢你的人那里丢掉了快乐,然后又在喜欢自己的人这里忘记了快乐。——莫言3.表白是表明心意,不是索取关系。你有你的选择,我有我的选择。

2023-02-26 20:30:00 748

原创 【基础算法】二分例题(我在哪?)

今天这篇文章,我们继续学习二分法,这里讲解有一道有关二分的算法题:我在哪?1.“我们永远也不知道下一刻会发生什么,我只是觉得,还有希望的时候,不要选择放弃。2.“生活坏到一定程度就会好起来,因为它无法更坏,努力过后,才知道许多事情,坚持坚持,就过来了。3.“在无人问津的地方历练,在万众瞩目的地方出现。4.“如果你第一步不迈出,永远不知道你的梦想是多么容易实现。5.“虽然绿灯没怎么为我亮过,但我还是对生活充满了希望。

2023-02-25 20:30:00 559

原创 【基础算法】字符串哈希

将字符串看成P进制的数,然后将P进制的数转换为十进制的数字:这样转换成十进制的数字,可能非常大,因为字符串可能有10到20个,这转换后就是很大很大的数字,容易溢出和出现错误,因此可以对Q进行取模,使其映射到【0,Q-1】;1.莫言在《晚熟的人》当中说:真正的强大不是忘记,而是接受接受分道扬镳,接受世事无常,接受孤独挫败,接受突如其来的无力感,接受自己的不完美,接受困惑、不安、焦虑和遗憾,调整自己的状态,找到继续前行的力量,成为更好的自己。是的,与其苦苦的想忘记,不如坦然接受。

2023-02-24 21:00:00 2095 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除