- 博客(124)
- 收藏
- 关注
原创 (超详细)C++多态(Polymorphism)
函数名相同参数列表不同属于重载。func(10);func(3.14);编译器根据参数类型选择对应函数。class Basepublic:public:关键条件包括:基类函数是虚函数;派生类函数与基类对应虚函数具有匹配的函数类型;返回类型等也必须满足重写规则;使用override可以让编译器帮助检查。class Basepublic:public:这里不是重写。func(int)参数不同。可能会隐藏基类同名的func。
2026-08-19 22:58:39
216
原创 (超详细)C++继承(Inheritance)
这是学习继承时必须掌握的一张表。基类成员public继承protected继承private继承publicpublicprotectedprivateprotectedprotectedprotectedprivateprivate不可直接访问不可直接访问不可直接访问继承方式只影响基类的public和protected成员在派生类中的访问权限。基类private成员始终不能被派生类直接访问。
2026-08-18 22:37:21
351
原创 (超详细)C++ 模板(Template)
a : b;Max<int>模板↓Max<T>↓实际使用↓Max<int>Max<float>...代码生成的蓝图。这部分非常重要。class Testpublic:Test是模板,Test<T>才是具体的模板类类型。1003.14│├── 1. 什么是模板│├── 2. 泛型编程│├── 3. 函数模板│ ├── 基本语法│ ├── 参数推导│ ├── 显式指定。
2026-08-13 16:49:16
360
原创 (超详细)C++ priority_queue(优先级队列)
理解堆(Heap)堆是一种特殊的数据结构。通常使用完全二叉树来理解。80/ \50 60/ \ /20 30 40这是一个大根堆。它满足:每一个父节点都不小于自己的子节点。80 > 5080 > 6050 > 2050 > 3060 > 4080就在最上面。pq.top()就能够快速获得最大元素。102030姓名 + 成绩我们可能希望:成绩最高的学生优先。这时候就需要自定义比较规则。int score;int main()
2026-08-12 22:35:49
293
原创 Linux基本指令详解:从零掌握Linux命令行操作
Linux命令行(Command Line Interface,CLI):指用户通过输入文本命令,让操作系统完成任务的一种交互方式。pwd/home/user表示当前所在目录。图形界面命令行点击操作输入命令操作直观操作高效自动化能力弱可以写脚本服务器环境少使用服务器主要方式命令作用pwd查看当前路径ls查看目录内容cd切换目录mkdir创建目录touch创建文件这些命令是Linux学习中使用频率最高的一组命令。后续学习:rm 删除文件cp 文件复制。
2026-08-11 23:42:26
409
原创 (超详细)C++ stack 与 queue 容器适配器学习
10 20 30vector本身就是一个真正意义上的顺序容器。存储数据 + 管理数据利用已有的容器,重新包装出一种符合特定使用规则的数据结构。deque↓经过限制和包装↓stackstack并不是从头开始重新实现一个存储结构,而是利用一个已有容器作为自己的底层容器,然后只开放符合“栈”规则的操作。底层 deque:原本可能可以:↓随机访问头部插入尾部插入头部删除尾部删除。
2026-08-11 23:17:39
206
原创 (超详细)《C++类和对象完全详解:从面向对象思想到对象模型》
为什么 C++ 要设计类?这个问题的答案,就是:为了解决大型软件开发过程中,代码难以维护的问题。C++ 是一门支持多种编程思想的语言:面向过程编程面向对象编程泛型编程面向对象(Object-Oriented Programming,简称 OOP)是 C++ 最核心的思想之一。现实世界中,我们每天接触大量对象:例如:汽车属性:品牌颜色速度价格行为:启动加速刹车学生属性:姓名年龄学号行为:学习考试睡觉我们发现:类可以理解为:描述一类对象共同特征的模板。
2026-08-09 23:02:01
189
原创 (超详细)C++ STL list容器详解:从使用方法到双向链表底层原理全面解析
迭代器本质:对指针的一种封装。int* p;p++;但是链表:1000地址5000地址8000地址1000+1所以list设计了自己的迭代器。
2026-08-09 15:13:22
655
原创 JS键盘事件详解
用户按键↓keydown事件发生↓浏览器创建event对象↓传给function(event)↓通过event.key知道按了什么"keydown",});你按控制台AaBb11EnterEnter空格空格↑ArrowUp↓ArrowDown。
2026-08-08 16:35:10
332
原创 querySelector()
HTMLCSS写法JSid="box"#box.boxdiv标签divdiv里面pdiv p第一个liliquerySelector("CSS选择器")看到什么 CSS 写法,就直接放进去。
2026-08-07 22:32:55
342
原创 C++ STL 容器详解 —— vector 动态数组容器全面学习笔记
Student s1;s1.age=18;vector可以存:intdoublestring类对象结构体vector 是 C++ STL 中最重要的容器之一。知识点重点底层结构动态数组内存特点连续空间三个指针size有效元素数量capacity申请空间大小扩容重新申请空间并拷贝访问随机访问O(1)尾插平均O(1)中间插入O(n)迭代器可能失效优势访问快缺点扩容和移动成本。
2026-08-04 22:34:12
423
原创 JavaScript 的组成与书写方式
ECMAScript 是 JavaScript 的标准规范。简单理解:ECMAScript 规定了 JavaScript 的语法和基本功能。例如:let name = "张三";这些都是 ECMAScript 规定的内容。中文:文档对象模型浏览器会把 HTML 页面转换成一个对象结构。例如:学习JavaScript</h1>页面内容会改变。BOM:浏览器对象模型。主要用于操作浏览器。JavaScript 是前端开发的核心语言。
2026-08-03 22:11:55
303
原创 CSS 文本属性详解
text-align用来设置文本的水平排列方式。选择器 {text-align:值;用于设置:段落第一行文字的缩进距离。第一段文字开始第二段文字继续选择器 {text-indent:距离;用于设置文字的装饰效果。例如:下划线删除线上划线text-decoration:值;行高:一行文字所占的高度。p {文字上下空间增加。属性作用常用值text-align水平对齐首行缩进2em文字装饰行高1.8字符间距5px单词间距20px大小写转换。
2026-07-31 22:50:13
244
原创 CSS 字体详解
用来设置文字使用什么字体。选择器 {font-family:字体名称;p {font-family:"微软雅黑";表示:所有 p 标签文字使用微软雅黑。行高:一行文字占据的高度。p {文字上下距离增加。属性作用示例字体类型font-family:"微软雅黑"font-size字体大小字体粗细font-style字体样式行高字符间距单词间距font字体简写↓选择字体font-size↓控制大小↓控制粗细font-style↓控制倾斜↓控制阅读体验。
2026-07-31 21:55:36
277
原创 CSS 选择器详解
今天学习选择器</p><p>继续学习前端</p>p {color:red;CSS学习今天学习选择器 (红色)继续学习前端 (红色)所有<p>标签都会被选中。文章标题
2026-07-31 21:54:40
251
原创 什么是 CSS?
技术作用HTML网页结构CSS网页样式JavaScript网页行为HTML = 人的骨架CSS = 人的衣服JavaScript = 人的动作HTML标签↓CSS基础↓盒模型↓Flex布局↓Grid布局↓动画↓响应式网页。
2026-07-31 19:23:26
213
原创 HTML 特殊字符(实体字符)详解学习博客
知识点作用实体字符显示特殊符号&xxx;字符实体写法&#数字;数字实体写法显示显示显示多个空格©版权符号HTML转义防止代码被解析< 用 <> 用 >& 用 &空格用版权用 ©。
2026-07-31 19:18:16
276
原创 C++ STL 容器详解:vector
vector 是 C++ STL 中最重要的容器之一。核心知识:vector 是动态数组底层是一块连续空间使用三个指针管理数据size 表示元素数量capacity 表示容量扩容会导致迭代器失效尾插效率高中间插入删除效率低支持随机访问STL 中大量算法基于 vector。
2026-07-30 22:08:51
435
原创 HTML表单域学习博客:表单标签、输入框、按钮详解
input是最常用的表单元素。<input><input />标签作用form定义表单区域input输入控件textarea多行文本输入select下拉列表option下拉选项label关联文字和控件button按钮HTML表单是网页和用户交互的重要方式。表单区域:<form>输入框:<input>文本域:<textarea>下拉:<select>选项:<option>按钮:submitresetbutton。
2026-07-30 20:45:12
270
原创 HTML列表标签学习博客:有序列表、无序列表、自定义列表详解
<li>苹果</li><li>香蕉</li><li>橘子</li></ul>● 苹果● 香蕉● 橘子ul意思:无序列表它负责定义一个列表区域。<ul></ul>但是:注意!ul里面不能直接写文字:<ul>苹果香蕉橘子</ul><ul><li>苹果</li><li>香蕉</li><li>橘子</li>
2026-07-30 20:40:40
222
原创 HTML注释与段落、换行标签详解
段落内容</p><p>HTML是一门用于创建网页结构的语言。</p><p>CSS负责网页样式设计。</p>HTML是一门用于创建网页结构的语言。CSS负责网页样式设计。可以看到:两个<p>标签之间自动产生了一定间距。<br>表示换行(break)。作用:让后面的内容换到下一行。<br><p>我是第一行<br>我是第二行<br>我是第三行
2026-07-29 22:32:01
204
原创 C++ string 深拷贝与浅拷贝详解
拷贝就是:使用一个已有对象创建一个新的对象。hellohello就是拷贝。深拷贝:不仅复制对象的数据,还复制对象所管理的资源。例如:s1strvhellos2strvhellos1.str+-------+| hello |+-------+s2.str+-------+| hello |+-------+两块独立空间。s1 = hellos2 = Hello互不影响。区别浅拷贝深拷贝复制内容成员变量。
2026-07-29 20:27:04
388
原创 流插入&&流提取
在 C++ 中,流(stream)可以理解为数据传输的通道。键盘 ---> 程序程序 ---> 屏幕文件 ---> 程序程序 ---> 文件数据像水流一样从一个地方流向另一个地方,所以叫stream(流)。流对象作用cin标准输入流(键盘)cout标准输出流(屏幕)cerr标准错误输出流clog日志输出流。
2026-07-29 20:14:59
247
原创 手撕 C++ string:从零实现一个简易字符串类
手写 string 虽然代码量不大,但是涵盖了 C++ 面向对象编程中最核心的知识:类和对象构造函数析构函数拷贝构造运算符重载动态内存深浅拷贝RAII理解了 string 的实现,再学习:vectorlistmap会更加容易。因为 STL 容器的核心思想都是:管理资源,并提供安全、高效、易用的接口。
2026-07-29 19:20:02
247
原创 C++迭代器(Iterator)详解:从原理、使用方法到底层实现全面掌握
函数作用begin()返回头迭代器end()返回尾后迭代器rbegin()返回反向头rend()返回反向尾cbegin()const开始cend()const结束迭代器是STL中用于访问容器元素的一种对象,本质是对指针的封装。
2026-07-28 22:02:29
277
原创 C++ string详解:从底层原理到常用操作全面掌握std::string
功能接口长度size()容量capacity()清空clear()判断为空empty()访问字符[]、at()尾插字符删除尾字符pop_back()拼接+、append()插入insert()删除erase()查找find()替换replace()截取substr()预留空间reserve()调整大小resize()是C++中最常用的字符串类,它本质上是一个动态管理字符数组的类。
2026-07-28 20:41:15
251
原创 C++模板详解:从基础到高级全面解析
class 类名例如:private:T data[10];public:Array<int>方式一:public:方式二:public:注意:C++模板是C++泛型编程的核心。掌握模板需要理解:函数模板类模板模板参数推导模板实例化typename模板特化偏特化非类型模板参数可变参数模板STL模板设计思想模板让C++能够写出与类型无关的通用代码,在编译阶段生成高性能代码,是STL和现代C++泛型编程的基础。
2026-07-27 22:24:04
331
原创 C++关键字 new 详解:从内存申请到对象构造,全面掌握动态内存管理
特点new作用动态申请内存位置堆区返回对象指针是否初始化可以调用构造函数是对应释放delete数组释放delete[]失败抛异常底层operator new + 构造函数答:new 是 C++关键字,malloc 是 C函数new 自动计算大小new 返回类型安全指针new 调用构造函数delete 调用析构函数malloc/free 不涉及对象生命周期new是 C++ 动态内存管理的核心关键字,它不仅负责申请内存,更重要的是负责对象生命周期管理分配内存。
2026-07-26 18:52:07
193
原创 引用传递避免触发拷贝构造的底层原理
传参方式是否创建新对象是否调用拷贝构造值传递func(T t)是是普通引用func(T& t)否否常量引用否否拷贝构造函数的作用是基于已有对象创建新对象;引用传递只是给现有对象起别名,全程无新对象产生,因此完全不会触发拷贝构造。
2026-07-24 15:10:16
238
原创 从零吃透XML映射文件|零基础入门完整学习指南(附实操案例)
XML(可扩展标记语言)是一种结构化标记语言,专注于数据存储、配置描述、关系映射。而我们开发中常说的XML映射文件,是指用于建立两层数据/逻辑关联的XML配置文件,最典型、使用最多的场景就是MyBatis Mapper映射文件(本文核心实操场景)。作用:手动绑定数据库字段与实体类属性,支持复杂映射、嵌套映射,是企业级开发首选。<id>:映射主键字段(提升查询效率)<result>:映射普通字段看完这篇教程,你已经完成了XML映射文件的零基础入门,核心知识点复盘:XML映射文件的核心是。
2026-07-23 00:08:16
368
原创 Java面向对象高级:接口全解——接口成员、抽象类与接口实战案例
接口是一套行为契约标准,只定义能力规范,不关心具体实现。语法定义:使用interface关键字,而非class;核心定位:用来提取不同类的公共行为,弥补 Java 单继承的局限(一个类只能继承一个父类,但可以实现多个接口);关键字搭配:类通过implements实现接口,必须重写接口中所有抽象方法。// 定义播放器接口:规定播放、暂停两个行为标准成员类型默认修饰符核心特性变量常量,不可修改、必须赋值抽象方法无方法体,实现类强制重写默认方法有方法体,可继承可重写静态方法。
2026-07-18 22:04:35
504
原创 MyBatis 基础CRUD全套实战学习笔记
{变量}底层会生成?占位符,JDBC 预编译语句从根源防止 SQL 注入。对比危险拼接${id}:直接字符串拼接,存在注入漏洞,删除、新增、更新、查询优先使用#{}。操作顺序逻辑:环境准备 → 删 / 增 / 改(DML,需要事务提交) → 查询(DQL,无需事务);核心语法统一规范传参全部使用#{}预编译,防 SQL 注入;增删改必须注意事务提交;新增自增主键通过回写;两种开发模式对比注解开发:简单 CRUD 简洁直观,适合小型项目;
2026-07-18 17:34:34
640
原创 Java面向对象高级:彻底搞懂多态与多态成员访问规则
多态即多种形态。同一个行为,不同对象执行会表现出不一样的效果。举生活例子:同样是 “叫” 这个动作,猫叫是喵喵,狗叫是汪汪;同样是 “跑”,汽车和自行车的行驶方式完全不同,这就是现实里的多态。父类引用指向子类对象,同一个父类引用调用重写方法时,会执行子类重写后的逻辑,这种编译和运行表现不一致的形态,就是 Java 多态。父类 引用名 = new 子类();成员类型编译阶段(看哪边)运行阶段(执行哪边)核心结论成员变量左边(父类)左边(父类)变量只认父类普通成员方法左边(父类)
2026-07-16 11:57:21
338
原创 MySQL事务完整入门笔记:从基础到并发隔离级别
Transaction(事务)是一组不可分割的 SQL 操作单元,这一组操作要么全部执行成功,要么全部执行失败回滚,不存在中间状态。
2026-07-15 11:40:09
420
原创 MySQL数据库约束完整学习笔记(从基础到外键级联操作)
约束是给表 / 字段添加的一套规则,数据库会自动校验写入、修改、删除的数据,不符合规则的操作直接报错拦截,避免脏数据入库。数据校验下沉数据库,业务代码无需重复写判断;天然保证多表关联不会产生孤立脏数据;规范团队建表标准,统一数据校验规则。
2026-07-14 13:05:58
847
原创 万字详解Java枚举:从基础语法到底层原理,吃透实战用法
枚举(Enumeration,简称 Enum)是JDK1.5 新增的引用数据类型,是一种特殊的类,用于定义有限、固定、不可变的常量集合。枚举类的每一个实例,都是提前定义好的固定常量,外部无法创建新的实例。// 统一状态接口本文从概念、语法、内置方法、高级用法、底层原理、实战场景、避坑点全方位讲解了Java枚举,核心要点总结:枚举是JDK1.5新增的特殊类,用于定义固定常量集合,替代传统静态常量;核心优势:类型安全、可读性高、可绑定业务属性、杜绝魔法值;
2026-07-14 10:08:53
344
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅