<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[日拱一卒,功不唐捐]]></title><description><![CDATA[deMo1的学习博客]]></description><link>https://blog.youkuaiyun.com/dmw_666</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; dmw_666]]></copyright><item><title><![CDATA[Linux指令--shell（外壳是什么），系统信息命令，tar命令，win与linux、linux与linux系统间的文件传输]]></title><link>https://blog.youkuaiyun.com/dmw_666/article/details/170247920</link><guid>https://blog.youkuaiyun.com/dmw_666/article/details/170247920</guid><author>dmw_666</author><pubDate>Sat, 07 Nov 2026 21:59:24 +0800</pubDate><description><![CDATA[本文系统讲解Shell工作原理与Linux系统管理实战：从终端快捷键、Shell命令执行流程（用户→Shell→内核）到uname、tcpdump抓包、scp/rsync文件传输、tar打包、mount挂载及关机命令；深入解析五种进程间通信方式，结合ls -l权限分析与Permission denied报错案例，掌握su -提权、chown/chmod等权限修复方法，实现从命令理解到实际运维的闭环。]]></description><category></category></item><item><title><![CDATA[Linux指令--一切皆文件思想，重定向操作，六种文件类型，日志查看演示，date和时间戳介绍]]></title><link>https://blog.youkuaiyun.com/dmw_666/article/details/170054547</link><guid>https://blog.youkuaiyun.com/dmw_666/article/details/170054547</guid><author>dmw_666</author><pubDate>Wed, 04 Nov 2026 23:43:24 +0800</pubDate><description><![CDATA[本文阐述Linux核心理念“一切皆文件”，指出终端、键盘、显示器均为/dev下的设备文件，程序的stdin/stdout/stderr是系统预开的文件。通过重定向操作>（覆盖）、>>（追加）、<（输入），实现与C语言fopen模式的对应。结合ls -l首字符区分六类文件（如c字符设备、b块设备），掌握日志查看工具tail -f、wc等及管道使用。利用date格式码实现可读时间与Unix时间戳（1970-01-01 00:00:00 UTC）互转，并说明which与whereis命令定位差异。最终理解echo]]></description><category></category></item><item><title><![CDATA[Linux基础指令--操作方式，pwd与whoami，ls和touch，目录结构，初学常用Linux指令详解]]></title><link>https://blog.youkuaiyun.com/dmw_666/article/details/170054486</link><guid>https://blog.youkuaiyun.com/dmw_666/article/details/170054486</guid><author>dmw_666</author><pubDate>Wed, 04 Nov 2026 23:41:15 +0800</pubDate><description><![CDATA[本文系统梳理 Linux 命令行基础，涵盖命令行优势、定位三件套（pwd、whoami、提示符）、文件查看（ls -l/-la）、路径概念（绝对/相对）、目录切换（cd四用法）、文件属性（stat详解）及复制（cp四种写法）。重点掌握 ls -l 与 stat 输出解析，理解“一切皆文件”与目录树结构，实现对文件操作指令的脱稿应用。]]></description><category></category></item><item><title><![CDATA[Linux初识：Linux的历史，计算机的发展脉络，发行版本，选购云服务器，安装Xshell，第一次连接，基础命令指南]]></title><link>https://blog.youkuaiyun.com/dmw_666/article/details/169650730</link><guid>https://blog.youkuaiyun.com/dmw_666/article/details/169650730</guid><author>dmw_666</author><pubDate>Sat, 31 Oct 2026 20:20:40 +0800</pubDate><description><![CDATA[计算机的发展脉络，发行版本，选购云服务器，安装Xshell，第一次连接，基础命令指南]]></description><category></category></item><item><title><![CDATA[C++智能指针，为什么需要智能指针，原理与使用，三大智能指针及其特性，循环引用陷阱]]></title><link>https://blog.youkuaiyun.com/dmw_666/article/details/169462953</link><guid>https://blog.youkuaiyun.com/dmw_666/article/details/169462953</guid><author>dmw_666</author><pubDate>Thu, 29 Oct 2026 19:27:16 +0800</pubDate><description><![CDATA[智能指针基于RAII解决内存泄漏、悬挂指针等问题。unique_ptr独占资源，零开销；shared_ptr引用计数共享所有权，make_shared一次分配更高效；weak_ptr不增加强计数，打破循环引用。核心：独占用unique_ptr，共享用shared_ptr，回指用weak_ptr；避免裸指针混用与虚析构缺失，注意shared_ptr<const T>与const shared_ptr<T>区别。]]></description><category></category></item><item><title><![CDATA[C++异常，异常的概念，异常抛出与捕获，RAII 和智能指针的设计思路，C++标准库一些指针的使用]]></title><link>https://blog.youkuaiyun.com/dmw_666/article/details/169368153</link><guid>https://blog.youkuaiyun.com/dmw_666/article/details/169368153</guid><author>dmw_666</author><pubDate>Wed, 28 Oct 2026 23:36:24 +0800</pubDate><description><![CDATA[本文系统梳理C++异常处理与资源管理机制：从错误码到异常类对象的演进，详解异常抛出、栈展开与匹配规则；揭示异常安全问题及“捕获-释放-重抛”策略，强调RAII思想是根本解法。深入剖析unique_ptr、shared_ptr、weak_ptr等智能指针的设计原理与使用规范，涵盖删除器、make_shared、noexcept等关键特性，构建安全高效的资源管理体系。]]></description><category></category></item><item><title><![CDATA[C++11第四讲，Lambda的组成部分四要素，捕获列表，Lambda原理，编译器何时生成移动构造和移动赋值，STL中的一些优化，类的优化]]></title><link>https://blog.youkuaiyun.com/dmw_666/article/details/169269596</link><guid>https://blog.youkuaiyun.com/dmw_666/article/details/169269596</guid><author>dmw_666</author><pubDate>Tue, 27 Oct 2026 23:48:31 +0800</pubDate><description><![CDATA[C++11 Lambda 捕获列表决定外部变量访问方式：值捕获复制副本，引用捕获共享原对象，混合捕获支持默认+例外。Lambda 编译为匿名闭包类，含数据成员与 operator()，有捕获时类型唯一，需 std::function 类型擦除。编译器仅在无用户声明的拷贝/析构函数时自动生成移动操作，否则退化为拷贝，影响性能优化。]]></description><category></category></item><item><title><![CDATA[C++11第三讲，函数模板，可变参数模板，完美转发，lambda表达式介绍]]></title><link>https://blog.youkuaiyun.com/dmw_666/article/details/169269559</link><guid>https://blog.youkuaiyun.com/dmw_666/article/details/169269559</guid><author>dmw_666</author><pubDate>Tue, 27 Oct 2026 23:43:52 +0800</pubDate><description><![CDATA[本文系统讲解C++11中模板参数推导、变参模板与Lambda表达式的核心机制。通过函数模板实现类型泛化，解决代码重复问题；利用模板参数推导自动匹配实参类型，掌握万能引用与完美转发原理；结合变参模板与参数包展开，实现可变参数函数的递归与直接展开；深入剖析emplace_back相比push_back在性能上的优势，体现完美转发的工程价值；最后引入Lambda表达式，理解其作为闭包对象的捕获机制，为后续STL算法使用谓词奠定基础。]]></description><category></category></item><item><title><![CDATA[C++11第二篇，传值返回为什么很贵，优化方案，输出型参数，编译器优化，右值引用，移动语义]]></title><link>https://blog.youkuaiyun.com/dmw_666/article/details/168976108</link><guid>https://blog.youkuaiyun.com/dmw_666/article/details/168976108</guid><author>dmw_666</author><pubDate>Sat, 24 Oct 2026 19:02:29 +0800</pubDate><description><![CDATA[函数返回大对象时，深拷贝代价高昂。本文以杨辉三角为例，剖析传值返回的性能瓶颈，提出三种优化方案：输出参数（零拷贝但牺牲可读性）、编译器RVO/NRVO（依赖优化，C++17起部分保证）、移动语义（标准保证，O(1)资源转移）。结合汇编分析与计数验证，揭示“寄存器传递优于栈”的底层原理，强调现代C++应优先依赖移动语义与标准保证，而非依赖编译器优化。]]></description><category></category></item><item><title><![CDATA[C++11，发展历史浅谈，初始化列表和对象初始化，右值引用和移动语义]]></title><link>https://blog.youkuaiyun.com/dmw_666/article/details/168774870</link><guid>https://blog.youkuaiyun.com/dmw_666/article/details/168774870</guid><author>dmw_666</author><pubDate>Thu, 22 Oct 2026 23:01:24 +0800</pubDate><description><![CDATA[C++11 引入右值引用（T&&）与移动语义，实现资源转移而非拷贝，显著提升性能。通过区分左值（可取地址）与右值（临时对象），支持移动构造/赋值，避免冗余拷贝。结合 std::move 和完美转发，优化容器、智能指针等场景。作为标准演进关键特性，推动现代 C++ 高效编程范式。]]></description><category></category></item><item><title><![CDATA[哈希封装，哈希函数设计，冲突解决策略，负载因子，封装实现]]></title><link>https://blog.youkuaiyun.com/dmw_666/article/details/168774694</link><guid>https://blog.youkuaiyun.com/dmw_666/article/details/168774694</guid><author>dmw_666</author><pubDate>Thu, 22 Oct 2026 22:46:50 +0800</pubDate><description><![CDATA[本文系统讲解哈希表核心原理与C++封装实现：从哈希函数设计（除留余数、乘法散列、字符串哈希等）、冲突解决（链地址法与开放寻址法及其聚簇问题），到负载因子控制与摊还分析。手写Hash<K, V>模板类，支持traits注入哈希/等价函数、侵入式链表桶、扩容重哈希及迭代器设计；重点解析开放寻址删除的墓碑机制。横向对比主流库实现差异，提炼易错点与主动回忆清单，助读者深入掌握哈希表精髓。]]></description><category></category></item><item><title><![CDATA[哈希表续篇，哈希函数如何设计，冲突解决策略，扩容机制，其他哈希结构]]></title><link>https://blog.youkuaiyun.com/dmw_666/article/details/168143461</link><guid>https://blog.youkuaiyun.com/dmw_666/article/details/168143461</guid><author>dmw_666</author><pubDate>Fri, 16 Oct 2026 19:58:08 +0800</pubDate><description><![CDATA[本文系统解析C++ unordered_map底层机制：从哈希函数设计（除留法、乘法散列、FNV等）到冲突解决（链地址法与开放定址法），详述线性探测、墓碑删除及扩容重哈希的四步迁移过程。结合素数容量选择、摊还复杂度分析，对比GCC与MSVC实现差异，延伸至HashDoS防护与Swiss Table等高级变体，完整揭示“键如何落位”到“表如何扩容”的全链路原理。]]></description><category></category></item><item><title><![CDATA[哈希表底层原理解析，直接定址法，哈希冲突，负载因子，哈希函数，开放定址法]]></title><link>https://blog.youkuaiyun.com/dmw_666/article/details/168143419</link><guid>https://blog.youkuaiyun.com/dmw_666/article/details/168143419</guid><author>dmw_666</author><pubDate>Fri, 16 Oct 2026 19:51:41 +0800</pubDate><description><![CDATA[本文系统解析哈希表底层原理，对比 set（红黑树）与 unordered_set（哈希表）在键要求、迭代器类型与性能上的差异，揭示其模板参数设计逻辑。从直接定址法局限引出哈希冲突不可避免性，重点剖析除法散列中“M取质数”与Java HashMap“取2的幂+位运算”的矛盾设计本质：前者为理论均匀分布，后者以折叠异或提升实际分布性。通过 {19,30,5,...} 入 M=11 表的完整演示，揭示线性探测引发的堆积现象，并阐明删除需用三态标记（EXIST/EMPTY/DELETE）以维护探测链完整性。]]></description><category></category></item><item><title><![CDATA[封装map和set，红黑树内部的具体实现，单模板参数无法实现的原因，模板泛型思想的应用，迭代器特性]]></title><link>https://blog.youkuaiyun.com/dmw_666/article/details/167781272</link><guid>https://blog.youkuaiyun.com/dmw_666/article/details/167781272</guid><author>dmw_666</author><pubDate>Tue, 13 Oct 2026 10:19:47 +0800</pubDate><description><![CDATA[本文解析SGI STL中_Rb_tree如何通过模板参数复用同一棵红黑树实现set与map：节点存储内容由Value模板参数决定（Key或pair<const Key, T>），KeyOfValue提取比较键；迭代器基于中序遍历设计，begin()指向最左节点，end()为哨兵header，++/--通过右子树最左或父链上溯实现。关键点：源码Value≠键值对的value，set元素不可改，map key为const，解引用end()未定义。]]></description><category></category></item><item><title><![CDATA[C++算法学习篇5--二分查找法]]></title><link>https://blog.youkuaiyun.com/dmw_666/article/details/167781722</link><guid>https://blog.youkuaiyun.com/dmw_666/article/details/167781722</guid><author>dmw_666</author><pubDate>Tue, 13 Oct 2026 09:42:27 +0800</pubDate><description><![CDATA[本文系统梳理二分查找在8道LeetCode题中的应用，涵盖基础查找、边界定位、旋转数组、山脉峰值等场景。核心在于构建正确的循环不变量，合理选择mid取值方向（偏左/偏右）与指针移动策略，避免死循环。重点解析了最左/最右边界模板、插入位置、平方根等典型问题的解题逻辑，强调特判条件与数据类型溢出防护，提升二分实现的准确性与鲁棒性。]]></description><category></category></item><item><title><![CDATA[红黑树的实现--红黑树的概念、规则、效率、结构、旋转、查找、验证]]></title><link>https://blog.youkuaiyun.com/dmw_666/article/details/167131079</link><guid>https://blog.youkuaiyun.com/dmw_666/article/details/167131079</guid><author>dmw_666</author><pubDate>Mon, 05 Oct 2026 22:43:54 +0800</pubDate><description><![CDATA[本文以"为什么需要一种比 AVL 更稳的平衡树"为起点，完整梳理红黑树的五条性质（每节点非红即黑、根必黑、红节点子节点必黑、同一路径黑节点数相等即黑高、叶哨兵为黑）；再用"最短路径 vs 最长路径"的论证说明红黑树高度恒不超过 2·log₂(N+1)，从而查找/插入/删除都是 O(log n)；核心部分逐一拆解插入后的五种违规场景（父黑直接停、父红叔红变色、父红叔黑 zig 旋转、zig-zag 双旋转）与对应的"变色 / 单旋 / 双旋"修复动作，配 C++ 修复代码；删除部分给出操作骨架]]></description><category></category></item><item><title><![CDATA[AVL 树系统梳理 ——AVL树的结构、AVL树的实现、AVL树的插入、平衡因子，旋转，遍历，平衡检测]]></title><link>https://blog.youkuaiyun.com/dmw_666/article/details/167130930</link><guid>https://blog.youkuaiyun.com/dmw_666/article/details/167130930</guid><author>dmw_666</author><pubDate>Mon, 05 Oct 2026 22:26:20 +0800</pubDate><description><![CDATA[本文系统梳理AVL树核心机制：以二叉搜索树退化为切入点，定义平衡因子（bf = 左高−右高，合法值{-1,0,1}），详解右单旋、左单旋、左右旋、右左旋四类旋转的指针操作与“接回祖父”关键步骤；结合插入后回溯找首个|bf|=2节点的修复流程，构建LL/RR/LR/RL四类定型与旋转的决策树，并辅以8节点示例验证平衡因子计算、遍历及删除操作；最后对比红黑树，明确AVL在读多写少场景下的优势。全文贯通笔记与代码实现，目标是实现“看懂即能写”。]]></description><category></category></item><item><title><![CDATA[C++ map 底层与AVL 树]]></title><link>https://blog.youkuaiyun.com/dmw_666/article/details/166947672</link><guid>https://blog.youkuaiyun.com/dmw_666/article/details/166947672</guid><author>dmw_666</author><pubDate>Thu, 01 Oct 2026 18:19:28 +0800</pubDate><description><![CDATA[本文系统梳理 C++ std::map 底层基于平衡二叉搜索树（如 AVL、红黑树）、LeetCode 692 前 K 个高频单词的哈希+小顶堆解法，以及 AVL 树的定义、四种失衡情形与旋转修复机制。核心要点包括：operator[] 自动插入默认值，insert 失败不覆盖；堆比较器需按频次升序、同频字典序降序；AVL 树通过旋转维护高度差 ≤1，插入修复最多两步旋转，保证 O(log n) 操作效率。]]></description><category></category></item><item><title><![CDATA[刷题日记（带手写笔记版）--滑窗法，法将x减到0的最小操作数，水果成篮，找到字符串中所有字母异位词，串联所有单词的子串，最小覆盖子串]]></title><link>https://blog.youkuaiyun.com/dmw_666/article/details/166904278</link><guid>https://blog.youkuaiyun.com/dmw_666/article/details/166904278</guid><author>dmw_666</author><pubDate>Thu, 01 Oct 2026 17:37:18 +0800</pubDate><description><![CDATA[本文总结了滑动窗口算法在五道力扣题中的应用：1）将x减到0的最小操作数（转为求最大子数组和）；2）水果成篮（最多两种水果的最大连续段）；3）字母异位词查找（固定窗口匹配）；4）串联所有单词的子串（多单词拼接问题）；5）最小覆盖子串（最小窗口包含目标字符）。核心思想均为维护滑动窗口，通过双指针动态调整，结合哈希表统计字符/单词频次，实现高效求解。]]></description><category></category></item><item><title><![CDATA[C++进阶map和set的基本概念，关联容器和序列容器，set的基本操作，map容器详解，实践应用案例]]></title><link>https://blog.youkuaiyun.com/dmw_666/article/details/166689259</link><guid>https://blog.youkuaiyun.com/dmw_666/article/details/166689259</guid><author>dmw_666</author><pubDate>Sat, 26 Sep 2026 14:02:09 +0800</pubDate><description><![CDATA[本文详解C++ STL中set与map的特性与用法：二者基于红黑树实现，提供O(log N)的高效查找、插入与删除操作。set用于唯一有序集合，支持自动去重与集合运算；map实现键值映射，适用于词典、缓存等场景。强调使用find()而非[]避免意外创建元素，注意遍历时删除导致迭代器失效等问题。通过代码示例展示插入、查找、删除、遍历及自定义比较函数等核心操作，帮助开发者掌握其高效应用。]]></description><category></category></item></channel></rss>