<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[FeIix的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/FeIix</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; FeIix]]></copyright><item><title><![CDATA[linux系统编程：初识进程]]></title><link>https://blog.youkuaiyun.com/FeIix/article/details/163309589</link><guid>https://blog.youkuaiyun.com/FeIix/article/details/163309589</guid><author>FeIix</author><pubDate>Fri, 31 Jul 2026 16:43:07 +0800</pubDate><description><![CDATA[狭义 OS（内核 Kernel）：核心四大模块 —— 进程管理、内存管理、文件管理、驱动管理；广义 OS：内核 + shell 外壳、C 标准库、系统工具等应用软件。]]></description><category></category></item><item><title><![CDATA[linux入门：基础开发工具]]></title><link>https://blog.youkuaiyun.com/FeIix/article/details/163276885</link><guid>https://blog.youkuaiyun.com/FeIix/article/details/163276885</guid><author>FeIix</author><pubDate>Tue, 28 Jul 2026 16:39:34 +0800</pubDate><description><![CDATA[软件包 = 预编译好的程序（类似 Windows 安装包），存放在。国内云服务器通常已配置好国内镜像源，无需手动更换。好处：一次写好，自动推导依赖，只编译修改过的文件。会自动找第一个目标，递归推导依赖，一次只能执行一个安装任务。：定义编译规则的脚本文件。：回到 gdb 命令屏。display 变量。]]></description><category></category></item><item><title><![CDATA[Linux入门：简要认识Linux和基础指令]]></title><link>https://blog.youkuaiyun.com/FeIix/article/details/163173502</link><guid>https://blog.youkuaiyun.com/FeIix/article/details/163173502</guid><author>FeIix</author><pubDate>Fri, 24 Jul 2026 22:03:46 +0800</pubDate><description><![CDATA[本文摘要： Linux系统核心知识速查指南，包含操作系统定位（用户与硬件中间层）、服务器常用命令行原因、主流发行版特点。重点讲解Linux目录树结构（/为根）、绝对/相对路径使用场景。提供基础命令手册：ls/pwd/cd等目录操作，cat/less等文件查看，find/grep等搜索工具，zip/tar压缩解压技巧。深入解析权限体系（rwx、chmod/chown）、用户分类及粘滞位特殊权限。附实用工具（date/cal/bc）和热键（Tab补全/Ctrl+C终止），涵盖Shell工作原理与生产环境操作规范]]></description><category></category></item><item><title><![CDATA[深入红黑树：从STL源码到亲手封装 map 和 set]]></title><link>https://blog.youkuaiyun.com/FeIix/article/details/160960455</link><guid>https://blog.youkuaiyun.com/FeIix/article/details/160960455</guid><author>FeIix</author><pubDate>Sun, 10 May 2026 21:50:35 +0800</pubDate><description><![CDATA[这篇文章深入解析了C++ STL中map和set的底层实现原理。通过分析源码框架，揭示了它们共用同一红黑树数据结构的关键设计：1. 模板参数的精妙运用：通过Value模板参数控制节点存储数据类型（set存Key，map存pair&lt;Key,T&gt;），KeyOfValue参数实现不同类型数据的键提取。2. 迭代器实现的核心机制：中序遍历逻辑处理operator++和operator--，包括右子树处理、祖先路径回溯等特殊情况。3. 容器适配层的设计：map通过select1st提取键，set直接使用键]]></description><category></category></item><item><title><![CDATA[C++ 异常处理全解析：从基础概念到工程实践]]></title><link>https://blog.youkuaiyun.com/FeIix/article/details/160801906</link><guid>https://blog.youkuaiyun.com/FeIix/article/details/160801906</guid><author>FeIix</author><pubDate>Thu, 07 May 2026 10:30:14 +0800</pubDate><description><![CDATA[本文深入讲解了C++异常处理机制，主要内容包括： 异常处理的核心概念：对比C语言错误码方式，阐述C++异常的优势（信息丰富、解耦处理）与劣势（性能开销）。 异常处理基础语法：通过throw抛出异常，try-catch捕获处理，演示除零错误的完整处理流程。 关键机制：详细解析栈展开的执行过程，异常类型的匹配规则（含3种特例转换），以及重新抛出异常的应用场景。 工程实践：展示异常继承体系设计，通过基类引用统一捕获多态异常，并实现HTTP请求的重试机制。 异常安全：重点分析资源泄漏问题和解决方案（RAII机制），]]></description><category></category></item><item><title><![CDATA[C++ 红黑树：从规则到实现，手把手带你写一棵红黑树]]></title><link>https://blog.youkuaiyun.com/FeIix/article/details/160774295</link><guid>https://blog.youkuaiyun.com/FeIix/article/details/160774295</guid><author>FeIix</author><pubDate>Mon, 04 May 2026 23:11:33 +0800</pubDate><description><![CDATA[红黑树是一种自平衡二叉搜索树，通过颜色标记和旋转操作维护近似平衡，确保操作时间复杂度为O(logN)。其核心特性包括：结点非红即黑、根结点为黑、无连续红结点、路径黑高相同。相比AVL树，红黑树旋转次数更少，适合频繁插入删除场景。插入操作需处理三种情况：叔叔为红时变色调整；直线型需单旋+变色；折线型需双旋+变色。验证时需检查颜色规则和路径黑高。红黑树广泛应用于STL、Linux内核等底层数据结构中。]]></description><category></category></item><item><title><![CDATA[C++11 核心特性全解析：，一篇吃透现代 C++ 基石]]></title><link>https://blog.youkuaiyun.com/FeIix/article/details/160734697</link><guid>https://blog.youkuaiyun.com/FeIix/article/details/160734697</guid><author>FeIix</author><pubDate>Sun, 03 May 2026 11:59:56 +0800</pubDate><description><![CDATA[C++11是现代C++编程的重要里程碑，引入了多项革命性特性：统一初始化语法简化了各类对象的初始化方式；右值引用和移动语义大幅提升了性能，解决了深拷贝开销问题；可变参数模板增强了泛型编程能力；lambda表达式支持匿名函数；类功能扩展包括默认移动操作和成员初始化；新增了function和bind统一可调用对象接口。这些特性共同推动C++从传统向现代转型，在保持高性能的同时提升了开发效率和代码可维护性，为后续C++标准奠定了基础。]]></description><category></category></item><item><title><![CDATA[C++ AVL 树：平衡原理到完整实现（自平衡二叉搜索树）]]></title><link>https://blog.youkuaiyun.com/FeIix/article/details/160447747</link><guid>https://blog.youkuaiyun.com/FeIix/article/details/160447747</guid><author>FeIix</author><pubDate>Fri, 24 Apr 2026 14:02:02 +0800</pubDate><description><![CDATA[AVL树是一种自平衡二叉搜索树，由前苏联科学家Adelson-Velsky和Landis于1962年提出。它通过严格控制每个结点的左右子树高度差（不超过1）来避免普通BST在有序插入时退化为链表的问题，确保所有操作的时间复杂度稳定在O(logN)。文章详细介绍了AVL树的核心概念、结点结构设计、插入操作流程（包含平衡因子更新规则）以及四种旋转调整方法（右单旋、左单旋、左右双旋和右左双旋），并提供了平衡校验的实现方法。AVL树虽然因严格的平衡要求导致旋转次数较多，但为理解更高级的数据结构奠定了基础。]]></description><category></category></item><item><title><![CDATA[C++ 模板全解：从泛型编程初阶到特化、分离编译进阶]]></title><link>https://blog.youkuaiyun.com/FeIix/article/details/160382682</link><guid>https://blog.youkuaiyun.com/FeIix/article/details/160382682</guid><author>FeIix</author><pubDate>Thu, 23 Apr 2026 17:55:47 +0800</pubDate><description><![CDATA[本文深入讲解C++模板编程，涵盖模板基础与高级特性。首先介绍泛型编程概念，通过Swap函数案例展示模板的代码复用优势。详细解析函数模板的原理、实例化方式和匹配规则，以及类模板的定义与使用。进阶部分探讨非类型模板参数、模板特化（函数/类模板全特化与偏特化）等高级特性，并分析模板分离编译问题及解决方案。最后总结模板在代码复用方面的优势与可能导致代码膨胀的缺点。文章通过丰富案例帮助读者全面掌握C++模板编程技术，为理解STL底层实现奠定基础。]]></description><category></category></item><item><title><![CDATA[C++ 二叉搜索树 (BST) ：从核心原理到完整代码实现]]></title><link>https://blog.youkuaiyun.com/FeIix/article/details/160341812</link><guid>https://blog.youkuaiyun.com/FeIix/article/details/160341812</guid><author>FeIix</author><pubDate>Mon, 20 Apr 2026 17:45:42 +0800</pubDate><description><![CDATA[二叉搜索树中序遍历一定有序增删查改：最好O(logN)，最坏O(N)左右孩子都存在时用替换法实际用平衡树（AVL / 红黑树）保证稳定效率是底层核心结构。]]></description><category></category></item><item><title><![CDATA[C++ STL list 原理到模拟实现]]></title><link>https://blog.youkuaiyun.com/FeIix/article/details/159995481</link><guid>https://blog.youkuaiyun.com/FeIix/article/details/159995481</guid><author>FeIix</author><pubDate>Thu, 09 Apr 2026 20:08:21 +0800</pubDate><description><![CDATA[本文全面解析C++中list容器的底层实现与核心特性。list采用带头结点的双向循环链表结构，具有动态内存分配、高效插入删除(O(1))的特点，但不支持随机访问。文章详细介绍了list的构造函数、迭代器使用、增删改查等常用接口，重点分析了迭代器失效问题（仅删除操作会使当前迭代器失效），并提供了正确的删除操作写法。通过模拟实现list节点结构、迭代器模板和list本体，揭示了其内部工作机制。最后对比了list与vector的核心差异：list适合频繁插入删除场景，而vector更适合随机访问需求。掌握这些特性]]></description><category></category></item><item><title><![CDATA[C++ STL vector 原理到模拟实现]]></title><link>https://blog.youkuaiyun.com/FeIix/article/details/159967899</link><guid>https://blog.youkuaiyun.com/FeIix/article/details/159967899</guid><author>FeIix</author><pubDate>Wed, 08 Apr 2026 23:37:34 +0800</pubDate><description><![CDATA[本文系统介绍了C++ vector容器的核心概念与实现要点。vector作为动态数组，底层采用连续存储，维护_start、_finish、_end_of_storage三个指针，支持随机访问。关键特性包括：尾部操作O(1)、中间操作O(N)，扩容机制在不同编译器下分别为1.5倍或2倍增长。文章详细解析了构造函数、容量操作（reserve/resize）、增删改查等核心接口，重点强调迭代器失效问题及解决方法（如erase后需重新获取迭代器）。特别指出深拷贝的必要性，禁止使用memcpy以避免资源重复释放。最后]]></description><category></category></item><item><title><![CDATA[C++ 运算符重载详解：从入门到理解]]></title><link>https://blog.youkuaiyun.com/FeIix/article/details/159573867</link><guid>https://blog.youkuaiyun.com/FeIix/article/details/159573867</guid><author>FeIix</author><pubDate>Sat, 28 Mar 2026 11:43:36 +0800</pubDate><description><![CDATA[C++运算符重载核心要点总结 运算符重载是C++面向对象编程的重要特性，需掌握以下关键点： 禁止重载的运算符：. .* :: ?: sizeof 必须作为成员函数重载的运算符：= [] () -&gt; 重载规则：必须包含自定义类型、不改变优先级/结合性/操作数个数、不创建新运算符 返回引用的情况：赋值=、下标[]、前置++/--、流操作符&lt;&lt; &gt;&gt; 返回值的情况：算术运算、后置++/--、比较运算 成员函数与全局函数的区别：成员函数隐含this指针，参数少一个 特别注意运算符重载要]]></description><category></category></item><item><title><![CDATA[二叉树从入门到精通：概念、结构与核心实现全解析]]></title><link>https://blog.youkuaiyun.com/FeIix/article/details/159470406</link><guid>https://blog.youkuaiyun.com/FeIix/article/details/159470406</guid><author>FeIix</author><pubDate>Wed, 25 Mar 2026 16:34:52 +0800</pubDate><description><![CDATA[树是由n(n≥0)个有限结点组成的层次关系集合有且仅有一个根结点，根结点无前驱；除根外，每个结点有且仅有一个父结点，可以有 0 个或多个后继；子树之间互不相交，一棵N个结点的树必有N-1条边；树的定义是递归的，即每个子树也都是一棵独立的树。集合为空（空二叉树）；由一个根结点 + 两棵互不相交的左子树和右子树组成，且左、右子树也都是二叉树。核心约束二叉树中不存在度大于 2 的结点（每个结点最多有 2 个孩子）；二叉树的子树有左右之分，次序不能颠倒（是有序树。]]></description><category></category></item><item><title><![CDATA[吊打面试官：手撕堆排序与 Top-K 问题的最优解]]></title><link>https://blog.youkuaiyun.com/FeIix/article/details/159351721</link><guid>https://blog.youkuaiyun.com/FeIix/article/details/159351721</guid><author>FeIix</author><pubDate>Sun, 22 Mar 2026 16:15:28 +0800</pubDate><description><![CDATA[堆是一种完全二叉树结构的优先队列，逻辑上分为大根堆和小根堆，物理存储采用数组实现。核心算法包括向上调整（O(logn)）和向下调整（O(logn)），其中向下调整建堆的时间复杂度为O(n)，优于向上调整的O(nlogn)。堆排序通过建堆和交换堆顶元素实现升序或降序排列。Top-K问题利用小根堆高效找出最大K个数，时间复杂度为O(K+(N-K)logK)。常见误区包括误判建堆复杂度为O(nlogn)和Top-K错误使用大根堆。堆结构在排序和查找问题中具有高效的空间和时间复杂度优势。]]></description><category></category></item><item><title><![CDATA[VS2026背景插件安装全攻略（自定义背景）]]></title><link>https://blog.youkuaiyun.com/FeIix/article/details/159291051</link><guid>https://blog.youkuaiyun.com/FeIix/article/details/159291051</guid><author>FeIix</author><pubDate>Sat, 21 Mar 2026 00:02:00 +0800</pubDate><description><![CDATA[本文介绍了VS2026背景插件安装的两种方法：1）推荐在线安装方式，通过拓展管理面板搜索安装；2）离线安装方案，下载.vsix文件手动安装。安装完成后，需在ClaudiaIDE设置中配置本地图片路径（建议PNG/JPG格式），并可调整透明度、对齐方式等参数。全文提供了从安装到配置的完整操作指引，帮助用户实现个性化IDE背景设置。]]></description><category></category></item><item><title><![CDATA[C++ string 类常用接口解析（附代码介绍）]]></title><link>https://blog.youkuaiyun.com/FeIix/article/details/159288136</link><guid>https://blog.youkuaiyun.com/FeIix/article/details/159288136</guid><author>FeIix</author><pubDate>Fri, 20 Mar 2026 18:53:42 +0800</pubDate><description><![CDATA[本文详细介绍了C++中std::string类的使用方法，主要包括六个方面：1）初始化与赋值方式，展示多种构造方法；2）长度与容量操作，如size()、resize()等；3）字符访问与修改接口，包括[]、at()、append()等；4）字符串查找与替换功能；5）拼接与比较操作；6）其他常用功能如c_str()转换。string类封装了字符数组操作，提供了安全便捷的接口，是C++处理字符串的首选工具，相比C风格字符串更安全高效。使用时需注意边界检查和异常处理。]]></description><category></category></item><item><title><![CDATA[栈（Stack）和队列（Queue）—从原理到C代码实现]]></title><link>https://blog.youkuaiyun.com/FeIix/article/details/159252965</link><guid>https://blog.youkuaiyun.com/FeIix/article/details/159252965</guid><author>FeIix</author><pubDate>Thu, 19 Mar 2026 21:55:00 +0800</pubDate><description><![CDATA[本文介绍了栈和队列两种线性数据结构。栈遵循LIFO原则，最优实现为动态数组，提供Push/Pop等操作，核心是栈顶指针管理。队列遵循FIFO原则，最优实现为单链表，需维护队头/队尾指针。还介绍了循环队列的数组实现，通过取模运算解决空间浪费问题，需注意队空(front==rear)和队满((rear+1)%capacity==front)的判定条件。两者核心区别在于操作规则：栈后进先出，队列先进先出。实现时需注意内存管理和指针维护。]]></description><category></category></item><item><title><![CDATA[C++ 类和对象（下）：核心进阶知识点超详细讲解]]></title><link>https://blog.youkuaiyun.com/FeIix/article/details/159212846</link><guid>https://blog.youkuaiyun.com/FeIix/article/details/159212846</guid><author>FeIix</author><pubDate>Wed, 18 Mar 2026 20:34:12 +0800</pubDate><description><![CDATA[本文深入探讨了C++类和对象的七大进阶知识点：1. 构造函数的初始化列表是成员变量真正的初始化位置，必须用于引用、const成员和无默认构造的自定义类型成员；2. 类型转换机制支持内置类型与类类型的隐式转换，可通过explicit关键字限制；3. static成员实现类内共享数据，替代全局变量；4. 友元机制突破封装限制，但应慎用；5. 内部类实现专属封装，默认具有友元特性；6. 匿名对象适合临时使用，生命周期仅限当前行；7. 编译器会对对象拷贝进行优化，减少临时对象创建。这些知识点是理解C++面向对象编程]]></description><category></category></item><item><title><![CDATA[C++ 类和对象（中）：默认成员函数超详细入门讲解]]></title><link>https://blog.youkuaiyun.com/FeIix/article/details/159172722</link><guid>https://blog.youkuaiyun.com/FeIix/article/details/159172722</guid><author>FeIix</author><pubDate>Tue, 17 Mar 2026 20:49:25 +0800</pubDate><description><![CDATA[C++默认成员函数是面向对象编程的核心概念，主要包括构造函数、析构函数、拷贝构造函数和赋值运算符重载。构造函数负责对象初始化，析构函数处理资源清理，拷贝构造函数实现对象克隆，赋值运算符重载完成对象赋值。编译器会自动生成这些函数的默认版本，但对堆资源管理的类需要手动实现深拷贝以避免内存问题。其中构造函数可重载，析构函数唯一，拷贝构造参数必须是引用，赋值重载需处理自赋值。理解这些函数的特性和适用场景，是掌握C++对象生命周期管理的关键。const成员函数和取地址重载在实际开发中较少需要自定义实现。]]></description><category></category></item></channel></rss>