<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[2201_76005883的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/2201_76005883</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; 2201_76005883]]></copyright><item><title><![CDATA[【MySQL】MySQL数据的增删改查（入门版）]]></title><link>https://blog.youkuaiyun.com/2201_76005883/article/details/161270973</link><guid>https://blog.youkuaiyun.com/2201_76005883/article/details/161270973</guid><author>2201_76005883</author><pubDate>Fri, 05 Jun 2026 10:56:49 +0800</pubDate><description><![CDATA[这篇文章详细介绍了MySQL中的CRUD操作，重点讲解了插入（Create）和查询（Retrieve）操作： 插入操作（Create）： 介绍了单行全列插入和多行指定列插入两种方式 演示了主键/唯一键冲突时的处理方法（on duplicate key update） 说明了row_count()函数获取受影响行数的用法 查询操作（Retrieve）： 讲解了select语句的基本语法和常用子句 通过案例演示了全列查询和指定列查询 提到后续会继续介绍更复杂的查询操作（如条件查询、排序、分页等） 文章采用理论+]]></description><category></category></item><item><title><![CDATA[Linux — 进程控制]]></title><link>https://blog.youkuaiyun.com/2201_76005883/article/details/160771210</link><guid>https://blog.youkuaiyun.com/2201_76005883/article/details/160771210</guid><author>2201_76005883</author><pubDate>Fri, 15 May 2026 14:30:15 +0800</pubDate><description><![CDATA[这篇笔记系统梳理了 Linux 进程管理的核心知识点，从 fork 进程创建、写时拷贝原理，到进程终止、退出码与信号，再到 wait/waitpid 进程等待机制，最后覆盖 exec 系列函数的程序替换，完整拆解了进程从诞生到消亡的全生命周期底层逻辑，适合正在学习 Linux 进程编程的同学参考]]></description><category></category></item><item><title><![CDATA[Linux —进程概念]]></title><link>https://blog.youkuaiyun.com/2201_76005883/article/details/160561615</link><guid>https://blog.youkuaiyun.com/2201_76005883/article/details/160561615</guid><author>2201_76005883</author><pubDate>Sat, 02 May 2026 23:55:55 +0800</pubDate><description><![CDATA[这是一份 Linux 进程与内存管理的入门指南，覆盖进程概念、状态管理、调度优先级、上下文切换、环境变量与虚拟地址空间等核心知识点，结合代码实验与内核原理，帮你建立完整的进程知识体系。]]></description><category></category></item><item><title><![CDATA[Linux —《开发三件套：gcc/g++、gdb、make/Makefile 全解析》]]></title><link>https://blog.youkuaiyun.com/2201_76005883/article/details/160417590</link><guid>https://blog.youkuaiyun.com/2201_76005883/article/details/160417590</guid><author>2201_76005883</author><pubDate>Sat, 25 Apr 2026 11:52:38 +0800</pubDate><description><![CDATA[本文系统梳理了 Linux C/C++ 开发必备的三大核心工具：详解gcc/g++的预处理、编译、汇编、链接四大阶段，以及静态库、动态库的链接原理与操作命令；完整讲解gdb调试器的使用前提、断点操作、变量查看与常用调试指令，附实战场景说明；拆解make/Makefile的语法规则、增量编译原理，提供从基础写法到变量简化的实用示例。]]></description><category></category></item><item><title><![CDATA[Linux —《从零上手Vim：核心用法全解析》]]></title><link>https://blog.youkuaiyun.com/2201_76005883/article/details/160180352</link><guid>https://blog.youkuaiyun.com/2201_76005883/article/details/160180352</guid><author>2201_76005883</author><pubDate>Wed, 22 Apr 2026 21:14:29 +0800</pubDate><description><![CDATA[Linux封神级终端编辑器Vim新手指南✅ 纯键盘操作、多模式编辑，快速掌握核心命令、批量注释、多文件切换，自定义配置+权限解决，小白也能高效上手！]]></description><category></category></item><item><title><![CDATA[Linux权限]]></title><link>https://blog.youkuaiyun.com/2201_76005883/article/details/160085732</link><guid>https://blog.youkuaiyun.com/2201_76005883/article/details/160085732</guid><author>2201_76005883</author><pubDate>Wed, 22 Apr 2026 21:07:16 +0800</pubDate><description><![CDATA[理解权限本质、掌握权限修改方法、注意用户切换和提权操作的安全限制。]]></description><category></category></item><item><title><![CDATA[【C++】《AVL 树保姆级教程：旋转 + 插入 + 调试，小白也能一次学会》]]></title><link>https://blog.youkuaiyun.com/2201_76005883/article/details/159514546</link><guid>https://blog.youkuaiyun.com/2201_76005883/article/details/159514546</guid><author>2201_76005883</author><pubDate>Sun, 29 Mar 2026 13:27:06 +0800</pubDate><description><![CDATA[本文从原理定义、节点结构、核心旋转（LL/RR/LR/RL）、插入实现、验证方法五个维度，带你从零拆解 AVL 树：不仅讲透平衡因子的底层逻辑，还附完整 C++ 代码与手绘示意图，让你彻底搞懂四种旋转的操作细节与平衡因子更新规则，轻松掌握平衡二叉树的核心精髓！]]></description><category></category></item><item><title><![CDATA[【C++】了解类]]></title><link>https://blog.youkuaiyun.com/2201_76005883/article/details/155281415</link><guid>https://blog.youkuaiyun.com/2201_76005883/article/details/155281415</guid><author>2201_76005883</author><pubDate>Mon, 02 Mar 2026 11:34:34 +0800</pubDate><description><![CDATA[本文介绍了C++中类的基本知识，包括类的定义方式、访问限定符、封装特性、作用域、实例化过程以及类对象模型。重点讲解了this指针的特性及其在成员函数中的隐式传递机制，并通过两个示例程序考察了对this指针的理解。文章还对比了类与结构体的差异，说明了C++中更推荐使用类的原因。最后通过内存对齐规则分析了类对象大小的计算方法，指出类大小仅包含成员变量的总和。]]></description><category></category></item><item><title><![CDATA[【C语言】C语言入门宝典：核心概念全解析]]></title><link>https://blog.youkuaiyun.com/2201_76005883/article/details/139690338</link><guid>https://blog.youkuaiyun.com/2201_76005883/article/details/139690338</guid><author>2201_76005883</author><pubDate>Wed, 19 Jun 2024 21:17:58 +0800</pubDate><description><![CDATA[C语言是一门通用计算机编程语言，广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言使用类型 变量名的形式来定义变量int age=10;//默认情况下写99.9编译器会将其识别为double类型，加上f就变成float类型//3.14 double类型//3.14f float类型🚩tips变量的命名要规范只能由字母、数字、下划线(_)组成不能以数字开头长度不能超过63个字符。]]></description><category></category></item><item><title><![CDATA[【C++】全面解剖搜索二叉树（一整个拿捏住）]]></title><link>https://blog.youkuaiyun.com/2201_76005883/article/details/139453244</link><guid>https://blog.youkuaiyun.com/2201_76005883/article/details/139453244</guid><author>2201_76005883</author><pubDate>Mon, 10 Jun 2024 21:25:27 +0800</pubDate><description><![CDATA[本篇归属于C++专栏，具体讲解什么是二叉搜索树（搜索二叉树），如何简单实现它？]]></description><category></category></item><item><title><![CDATA[【C++】多态：编程中的“一人千面”艺术]]></title><link>https://blog.youkuaiyun.com/2201_76005883/article/details/139162906</link><guid>https://blog.youkuaiyun.com/2201_76005883/article/details/139162906</guid><author>2201_76005883</author><pubDate>Mon, 27 May 2024 20:32:13 +0800</pubDate><description><![CDATA[构成多态还有两个条件：① 被调用的函数必须是虚函数，且派生类必须对基类的虚函数进行重写② 必须通过基类的指针或者引用调用虚函数虚函数：即被virtual修饰的类成员函数称为虚函数public://被virtual修饰的函数叫虚函数cout << "Person->全价" << endl;在虚函数的后面写上 =0 ，则这个函数为纯虚函数。包含纯虚函数的类叫做抽象类（也叫接口类），抽象类不能实例化出对象。派生类继承后也不能实例化出对象，只有重写纯虚函数，派生类才能实例化出对象。]]></description><category></category></item><item><title><![CDATA[【C++】继承(三）：破解C++菱形继承之谜：为什么我们需要虚拟继承？]]></title><link>https://blog.youkuaiyun.com/2201_76005883/article/details/139074192</link><guid>https://blog.youkuaiyun.com/2201_76005883/article/details/139074192</guid><author>2201_76005883</author><pubDate>Tue, 21 May 2024 20:25:44 +0800</pubDate><description><![CDATA[很多人说C++语法复杂，其实多继承就是一个体现。有了多继承，就存在菱形继承，有了菱形继承就有菱形虚拟继承，底层实现就很复杂。所以一般不建议设计出多继承，一定不要设计出菱形继承。否则在复杂度及性能上都有问题。多继承可以认为是C++的缺陷之一，很多后来的OO语言都没有多继承，如Java继承和组合先来讲一下什么是组合？举个例子：public:private:Person _p;int _age;这就是组合，他和继承很像，都可以使用到Person里面的成员，但是。]]></description><category></category></item><item><title><![CDATA[【C++】继承(二）深入理解继承：派生类默认成员函数与友元、静态成员的奥秘]]></title><link>https://blog.youkuaiyun.com/2201_76005883/article/details/139041348</link><guid>https://blog.youkuaiyun.com/2201_76005883/article/details/139041348</guid><author>2201_76005883</author><pubDate>Mon, 20 May 2024 20:16:46 +0800</pubDate><description><![CDATA[我们在上一章讲解了:]]></description><category></category></item><item><title><![CDATA[【C++】继承(一）继承三部曲：概念、转换、作用域一网打尽]]></title><link>https://blog.youkuaiyun.com/2201_76005883/article/details/139025379</link><guid>https://blog.youkuaiyun.com/2201_76005883/article/details/139025379</guid><author>2201_76005883</author><pubDate>Sat, 18 May 2024 21:27:46 +0800</pubDate><description><![CDATA[继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段，它允许程序员在保持原有类特性的基础上进行扩展，增加功能，这样产生新的类，称派生类。继承呈现了面向对象程序设计的层次结构，体现了由简单到复杂的认知过程。以前我们接触的复用都是函数复用，继承是类设计层次的复用。简单来说就是子类继承父类后，可以使用父类的成员或者函数（前提是访问权限足够，这个我们后面讲）父类（基类）：父类是一个更一般、更抽象的类，它定义了一组属性和方法，这些属性和方法会被其子类所继承。]]></description><category></category></item><item><title><![CDATA[【C++】浅谈一下C++中的模板]]></title><link>https://blog.youkuaiyun.com/2201_76005883/article/details/138964830</link><guid>https://blog.youkuaiyun.com/2201_76005883/article/details/138964830</guid><author>2201_76005883</author><pubDate>Fri, 17 May 2024 10:50:06 +0800</pubDate><description><![CDATA[一个程序（项目）由若干个源文件共同实现，而每个源文件单独编译生成目标文件，最后将所有目标文件链接起来形成单一的可执行文件的过程称为分离编译模式。如果有的小伙伴不知道什么是编译和链接，可看这篇关于编译和链接的详细介绍链接:编译和链接【优点】模板复用了代码，节省资源，更快的迭代开发，C++的标准模板库(STL)因此而产生增强了代码的灵活性【缺陷】模板会导致代码膨胀问题，也会导致编译时间变长出现模板编译错误时，错误信息非常凌乱，不易定位错误。]]></description><category></category></item><item><title><![CDATA[【C++】priority_queues（优先级队列）和反向迭代器适配器的实现]]></title><link>https://blog.youkuaiyun.com/2201_76005883/article/details/138855645</link><guid>https://blog.youkuaiyun.com/2201_76005883/article/details/138855645</guid><author>2201_76005883</author><pubDate>Tue, 14 May 2024 21:27:44 +0800</pubDate><description><![CDATA[priority_queue他是一种容器适配器，但其实他底层和堆差不多，接口和堆也非常像，功能也是，默认情况下是大堆，你也可以用仿函数把他改成小堆empty()：检测容器是否为空size()：返回容器中有效元素个数front()：返回容器中第一个元素的引用push_back()：在容器尾部插入元素pop_back()：删除容器尾部元素。]]></description><category></category></item><item><title><![CDATA[【C++】stack和queue]]></title><link>https://blog.youkuaiyun.com/2201_76005883/article/details/138798549</link><guid>https://blog.youkuaiyun.com/2201_76005883/article/details/138798549</guid><author>2201_76005883</author><pubDate>Mon, 13 May 2024 19:55:26 +0800</pubDate><description><![CDATA[stack是一种容器适配器，专门用在具有后进先出操作的上下文环境中，只能从容器的一端进行数据的插入和删除stack是作为容器适配器被实现的，容器适配器即是对特定类封装作为其底层的容器，并提供一组特定的成员函数来访问其元素，将特定类作为其底层的，元素特定容器的尾部(即栈顶)被压入和弹出。stack的底层容器可以是任何标准的容器类模板或者一些其他特定的容器类，这些容器类应该支持以下操作：empty：判空操作back：获取尾部元素操作push_back：尾部插入元素操作。]]></description><category></category></item><item><title><![CDATA[【C++】list原理讲解及其实现]]></title><link>https://blog.youkuaiyun.com/2201_76005883/article/details/138757953</link><guid>https://blog.youkuaiyun.com/2201_76005883/article/details/138757953</guid><author>2201_76005883</author><pubDate>Sun, 12 May 2024 20:10:13 +0800</pubDate><description><![CDATA[要模拟实现list，必须要熟悉list的底层结构以及其接口的含义，在上一篇我们仔细讲解了list的常见接口的使用及其含义，这篇我们就直接进入主题。]]></description><category></category></item><item><title><![CDATA[【C++】list的使用]]></title><link>https://blog.youkuaiyun.com/2201_76005883/article/details/138728160</link><guid>https://blog.youkuaiyun.com/2201_76005883/article/details/138728160</guid><author>2201_76005883</author><pubDate>Sat, 11 May 2024 21:15:24 +0800</pubDate><description><![CDATA[resize的用法和vector里面是一样，当n<size时，就只保留前n个数据；当n>size时，从size位置开始到n，值都赋为val。本篇list的使用就讲解完毕了，有问题请评论哦，我会及时解答和更正本文章的错误，我们下篇来讲解一下list的底层原理。在pos位置插入迭代器区间first到last之间的数据。1、这里的参数是内存池，我们一般用默认的就行。链表提供了两种访问数据的形式，分别是。将两个升序的链表有序拼接在一起。2、用n个val构造一个链表。得到链表的有效数据个数。3、迭代器区间构造链表。]]></description><category></category></item><item><title><![CDATA[【C++】vector的底层原理讲解及其实现]]></title><link>https://blog.youkuaiyun.com/2201_76005883/article/details/138680708</link><guid>https://blog.youkuaiyun.com/2201_76005883/article/details/138680708</guid><author>2201_76005883</author><pubDate>Sat, 11 May 2024 18:44:41 +0800</pubDate><description><![CDATA[其实上面的代码大体逻辑是没有什么问题的，问题就出在这个memcpy上，要知道memcpy底层实现是按字节一个一个拷贝过去的，虽然我们的vector是深拷贝，但是memcpy是浅拷贝，这样写针对内置类型是🆗的，但是针对自定义类型会存在指向同一块空间的问题，两次析构等问题，话不多说，我们看图解。这里我利用库里的函数来实现swap，只交换vector的三个指针更高效，赋值构造的参数是传值传参，会调用拷贝构造，将v2拷贝一份给v，然后之间调用swap函数，将v和。赋值构造：两个已经存在的对象，一个赋值给另一个。]]></description><category></category></item></channel></rss>