<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[DDXYcoder的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/DDXYcoder</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; DDXYcoder]]></copyright><item><title><![CDATA[C++ 模板初阶 —— 让编译器帮你写“同一套逻辑、不同类型“的代码]]></title><link>https://blog.youkuaiyun.com/DDXYcoder/article/details/166790945</link><guid>https://blog.youkuaiyun.com/DDXYcoder/article/details/166790945</guid><author>DDXYcoder</author><pubDate>Mon, 28 Sep 2026 16:56:02 +0800</pubDate><description><![CDATA[本文详解C++模板初阶核心：以泛型编程为动机，通过函数模板与类模板实现“一法通万法”。函数模板在编译期根据实参类型自动实例化，避免重载带来的代码重复；类模板需显式指定类型参数，且成员函数定义必须带template<typename T>头。重点解析了隐式/显式实例化、模板参数推演规则及与非模板函数的匹配优先级，揭示模板本质是编译器生成多份类型专属代码，提升复用性但带来代码膨胀。]]></description><category></category></item><item><title><![CDATA[C++ 内存管理 —— new/delete 到底比 malloc/free 多做了什么？]]></title><link>https://blog.youkuaiyun.com/DDXYcoder/article/details/166645308</link><guid>https://blog.youkuaiyun.com/DDXYcoder/article/details/166645308</guid><author>DDXYcoder</author><pubDate>Fri, 25 Sep 2026 17:54:42 +0800</pubDate><description><![CDATA[new/delete 与 malloc/free 核心区别在于：前者在分配内存后自动调用构造函数，析构时调用析构函数，管理对象生命周期；后者仅分配/释放原始内存，不涉及初始化。对内置类型二者近似，但自定义类型中 new/delete 是必须的。底层 operator new 实际由 malloc 实现，失败抛出 bad_alloc，而 malloc 返回 NULL。new 还支持定位 new，可在已有内存上构造对象。]]></description><category></category></item><item><title><![CDATA[C++ 类与对象终极解析：从“能跑“到“能上工程“]]></title><link>https://blog.youkuaiyun.com/DDXYcoder/article/details/166452351</link><guid>https://blog.youkuaiyun.com/DDXYcoder/article/details/166452351</guid><author>DDXYcoder</author><pubDate>Wed, 23 Sep 2026 09:05:09 +0800</pubDate><description><![CDATA[本文从“能跑”的类出发，剖析其在工程化中的三大缺陷：手动初始化/销毁导致内存泄漏、错误码（如-1）无法区分真实值、缺乏拷贝语义。通过引入构造函数、析构函数、深拷贝、拷贝赋值重载、异常安全等机制，逐步将类改造为可复用、安全的工程级代码。强调封装的重要性——隐藏实现细节，保障接口稳定；详解this指针的作用与原理；揭示默认成员函数的隐式生成规则，指出浅拷贝的隐患。最终目标是让类从“能运行”迈向“可维护、可扩展、可复用”的工程标准]]></description><category></category></item><item><title><![CDATA[浮点数与自定义类型：从 IEEE 754 到位段联合体]]></title><link>https://blog.youkuaiyun.com/DDXYcoder/article/details/166255094</link><guid>https://blog.youkuaiyun.com/DDXYcoder/article/details/166255094</guid><author>DDXYcoder</author><pubDate>Mon, 21 Sep 2026 21:24:33 +0800</pubDate><description><![CDATA[C语言中，浮点数遵循IEEE 754标准，以符号、指数、尾数三部分存储，与整数视角迥异。结构体成员按对齐规则布局，影响内存占用；位段可节省空间但跨平台风险高，且不可取地址；联合体则共享内存，实现多类型数据的灵活存储。合理运用这些自定义类型，可在性能、空间与可移植性间取得平衡。]]></description><category></category></item><item><title><![CDATA[枚举与动态内存：从「编译时常量」到「运行时空间」]]></title><link>https://blog.youkuaiyun.com/DDXYcoder/article/details/166255055</link><guid>https://blog.youkuaiyun.com/DDXYcoder/article/details/166255055</guid><author>DDXYcoder</author><pubDate>Mon, 21 Sep 2026 21:21:58 +0800</pubDate><description><![CDATA[概念枚举宏定义类型检查有（枚举是独立类型）无（纯文本替换）调试信息调试器能看到符号名预处理后符号消失作用域受作用域控制全局有效（除非#undef适用场景一组相关的整数常量单个常量或任意代码片段函数分配初始化释放malloc不初始化freecalloc初始化为 0freerealloc保留旧数据，新空间不初始化free柔性数组指针方案一块连续内存，一次 malloc 一次 free两块内存，两次 malloc 两次 free更好的缓存局部性。]]></description><category></category></item><item><title><![CDATA[qsort 与通用排序：从「只能排 int」到「什么都能排」的进化之路]]></title><link>https://blog.youkuaiyun.com/DDXYcoder/article/details/166255028</link><guid>https://blog.youkuaiyun.com/DDXYcoder/article/details/166255028</guid><author>DDXYcoder</author><pubDate>Mon, 21 Sep 2026 21:20:19 +0800</pubDate><description><![CDATA[qsort是C标准库提供的通用排序函数，通过void*泛型指针与函数指针回调实现对任意类型数据的排序。其核心在于：用void*屏蔽类型信息，以size_t传递元素大小，通过比较函数返回值约定（&gt;0、==0、&lt;0）决定排序顺序。结合(a&gt;b)-(a&lt;b)防溢出技巧和逐字节交换，可实现安全高效的通用冒泡排序。该设计体现了“将行为作为参数传递”的策略模式思想，是理解C语言泛型编程的关键。]]></description><category></category></item><item><title><![CDATA[不打断心流的翻译：QuickTranslate，让翻译从一个动作开始]]></title><link>https://blog.youkuaiyun.com/DDXYcoder/article/details/165852690</link><guid>https://blog.youkuaiyun.com/DDXYcoder/article/details/165852690</guid><author>DDXYcoder</author><pubDate>Fri, 18 Sep 2026 11:44:40 +0800</pubDate><description><![CDATA[看到不懂的内容，按下一个快捷键，翻译窗口立即出现。QuickTranslate 是一款为 macOS 打造的原生即时翻译工具]]></description><category></category></item><item><title><![CDATA[数据结构——栈的概念理解与代码实现]]></title><link>https://blog.youkuaiyun.com/DDXYcoder/article/details/165852224</link><guid>https://blog.youkuaiyun.com/DDXYcoder/article/details/165852224</guid><author>DDXYcoder</author><pubDate>Fri, 18 Sep 2026 10:37:16 +0800</pubDate><description><![CDATA[栈是后进先出（LIFO）的受限线性表，仅允许在栈顶进行插入（Push）和删除（Pop）。本文采用动态数组实现，top 指向栈顶下一个空位（初始为0），元素个数即为 top。核心操作如入栈、出栈、取栈顶、判空等均达 O(1) 时间复杂度，通过扩容机制保证高效性。关键细节包括：空栈判断 top == 0，取栈顶需 arr[top-1]，扩容失败应终止程序。栈广泛应用于括号匹配、表达式求值、深度优先搜索及函数调用等场景，是数据结构中的基础而核心的工具。]]></description><category></category></item><item><title><![CDATA[数据结构——队列的概念解析与核心代码]]></title><link>https://blog.youkuaiyun.com/DDXYcoder/article/details/164365467</link><guid>https://blog.youkuaiyun.com/DDXYcoder/article/details/164365467</guid><author>DDXYcoder</author><pubDate>Fri, 04 Sep 2026 11:37:33 +0800</pubDate><description><![CDATA[<think>我们只需要根据用户提供的长文生成一个≤150字的文章摘要。要求概括核心内容，包括队列的定义、特点、关键实现、复杂度、常见陷阱等。注意字数限制。综合提炼即可。</think>队列是先进先出的受限线性表，用带头尾双指针和size的链式结构实现，入队尾插、出队头删均O(1)。用size维护长度使判空求长O(1)，且需注意只剩一个节点出队时置空尾指针、销毁时先存next再free等经典陷阱。整体适合链表实现，优于数组开头的队列。]]></description><category></category></item><item><title><![CDATA[解析预处理与编译的过程]]></title><link>https://blog.youkuaiyun.com/DDXYcoder/article/details/164329648</link><guid>https://blog.youkuaiyun.com/DDXYcoder/article/details/164329648</guid><author>DDXYcoder</author><pubDate>Thu, 03 Sep 2026 11:29:22 +0800</pubDate><description><![CDATA[<think>我们需要根据用户要求，生成≤150字的文章摘要。用户提供了一篇关于C语言预处理与编译的文章，要求“根据以下内容，生成≤150字的文章摘要”。我们需要输出摘要，需简洁，不超过150字。注意内容范围，可能包括宏、条件编译、头文件等。需要提炼核心观点。同时，注意用户还附带了很长的内容，但我们只需要摘要。确保内容在150字内。中文。 摘要可以包括：预处理是编译前文本替换，宏不是函数，#include不是导入，#if不是if，关键在于理解替换过程，注意加括号避免优先级问题，条件编译用于控制代码，特殊运算]]></description><category></category></item><item><title><![CDATA[万字解析动态内存从编译到运行]]></title><link>https://blog.youkuaiyun.com/DDXYcoder/article/details/164303720</link><guid>https://blog.youkuaiyun.com/DDXYcoder/article/details/164303720</guid><author>DDXYcoder</author><pubDate>Wed, 02 Sep 2026 19:57:23 +0800</pubDate><description><![CDATA[枚举把散落的魔法数字变成有名字的常量，而动态内存让你在程序运行时按需索取堆空间——两者一个管编译时，一个管运行时，都是写出灵活 C 程序的基石。概念枚举宏定义类型检查有（枚举是独立类型）无（纯文本替换）调试信息调试器能看到符号名预处理后符号消失作用域受作用域控制全局有效（除非#undef适用场景一组相关的整数常量单个常量或任意代码片段函数分配初始化释放malloc不初始化freecalloc初始化为 0freerealloc保留旧数据，新空间不初始化free。]]></description><category></category></item><item><title><![CDATA[内存函数与数据存储]]></title><link>https://blog.youkuaiyun.com/DDXYcoder/article/details/164303692</link><guid>https://blog.youkuaiyun.com/DDXYcoder/article/details/164303692</guid><author>DDXYcoder</author><pubDate>Wed, 02 Sep 2026 19:56:06 +0800</pubDate><description><![CDATA[内容是关于内存函数与数据存储的，重点包括memcpy/memmove/memset、大小端、整型提升等。需要简洁概括核心要点。注意字数限制。我们应提炼主要观点：内存函数按字节操作；memset赋非0值出错因按字节；memmove处理重叠用前后策略；数据存储本质二进制，解读方式（大小端、整型提升）影响结果。输出不超过150字。</think>内存函数按字节操作，memmove用“前前后后”策略处理重叠安全拷贝；memset对int数组赋非0值因逐字节设]]></description><category></category></item><item><title><![CDATA[操作符的深入理解学习并实操]]></title><link>https://blog.youkuaiyun.com/DDXYcoder/article/details/163544385</link><guid>https://blog.youkuaiyun.com/DDXYcoder/article/details/163544385</guid><author>DDXYcoder</author><pubDate>Thu, 06 Aug 2026 23:01:22 +0800</pubDate><description><![CDATA[本文摘要： C语言中的位运算是底层高效操作的核心技术，通过补码实现二进制运算。主要内容包括：1) 进制转换基础与整数存储（原码/反码/补码）；2) 整形提升规则；3) 移位操作（左移乘2^n、右移除2^n）；4) 位操作符（与、或、异或、取反）及其应用；5) 经典算法如异或交换和统计1的个数。特别强调补码运算原理和移位操作的实际效果，通过代码示例演示了进制转换、移位运算和位操作的实际应用。理解这些概念对编写高效底层代码至关重要。（149字）]]></description><category></category></item><item><title><![CDATA[用 Codex CLI 造了一个 Claude Code 桌面客户端]]></title><link>https://blog.youkuaiyun.com/DDXYcoder/article/details/163451036</link><guid>https://blog.youkuaiyun.com/DDXYcoder/article/details/163451036</guid><author>DDXYcoder</author><pubDate>Mon, 03 Aug 2026 21:43:20 +0800</pubDate><description><![CDATA[摘要： 作者基于对终端版Claude Code的使用痛点，利用Codex CLI开发了一款8000行代码的Electron桌面客户端。该工具保留了CLI核心功能，新增了会话管理、可视化工具调用、Markdown预览和多项目切换等特性。开发过程采用"Vibe Coding"模式，完全通过自然语言与AI协作完成，包括架构设计、代码生成和问题修复。应用设计遵循本地优先、键盘驱动原则，提供Agent和Chat双模式，并集成SQLite持久化。最终产品实现了终端与GUI的优势结合，解决了AI编程中的上下文管理、操作透]]></description><category></category></item><item><title><![CDATA[指针的初步进阶与初步拓展]]></title><link>https://blog.youkuaiyun.com/DDXYcoder/article/details/163443272</link><guid>https://blog.youkuaiyun.com/DDXYcoder/article/details/163443272</guid><author>DDXYcoder</author><pubDate>Mon, 03 Aug 2026 14:59:58 +0800</pubDate><description><![CDATA[文章摘要：指针进阶与复杂声明解析 本文系统讲解了高级指针概念，包括二级指针、指针数组、数组指针和函数指针的核心原理与区别。关键点包括： 指针的本质：指针进阶的核心在于将指针视为可操作的一等公民，通过地址间接访问复杂数据结构。 二级指针：通过解引用链条（**ppa）实现两层间接访问，本质是"指针的指针"。 指针数组vs数组指针： 指针数组是存储指针的数组（int *arr[]） 数组指针是指向整个数组的指针（int (*p)[n]） 区别关键在运算符优先级和括号使用 函数指针：存储函数入口地址（int (*p]]></description><category></category></item><item><title><![CDATA[从地址到自由：C语言指针核心概念深度复盘与实战指南]]></title><link>https://blog.youkuaiyun.com/DDXYcoder/article/details/163398798</link><guid>https://blog.youkuaiyun.com/DDXYcoder/article/details/163398798</guid><author>DDXYcoder</author><pubDate>Sat, 01 Aug 2026 22:14:55 +0800</pubDate><description><![CDATA[本文系统梳理了C语言指针的核心概念与应用技巧。主要内容包括： 指针本质：存放内存地址的变量，通过&取地址、*解引用 类型决定行为：指针类型影响解引用字节数和指针运算步长（如char步长1，int步长4） 数组与指针：数组名在多数情况下退化为首元素指针，但sizeof和&arr例外 const修饰：const在左保护数据，在右保护指针本身 安全实践：防范野指针、悬垂指针，进行空指针检查和越界重置 典型应用：三种数组遍历方式，以及利用指针差值实现strlen函数 关键点：指针类型决定了内存操作方式，理解步长和类]]></description><category></category></item><item><title><![CDATA[数据结构精讲：单链表从零到精通，一文搞定所有核心操作与高频考点]]></title><link>https://blog.youkuaiyun.com/DDXYcoder/article/details/163365757</link><guid>https://blog.youkuaiyun.com/DDXYcoder/article/details/163365757</guid><author>DDXYcoder</author><pubDate>Fri, 31 Jul 2026 13:52:19 +0800</pubDate><description><![CDATA[本文全面解析单链表数据结构，涵盖核心概念、关键操作实现及高频考点。单链表通过分散节点存储数据，每个节点包含数据和指向下一个节点的指针。相比顺序表，单链表插入/删除效率更高（O(1)），但随机访问需要O(n)时间。 文章重点讲解了二级指针的必要性：当需要修改头指针本身时，必须传递二级指针。详细实现了创建节点、打印、头插/尾插、头删/尾删等核心操作，并针对每种操作的特殊边界情况（空表/单节点/头尾节点）给出解决方案。 关键实现技巧包括：使用临时游标保护原头指针、头插尾插的顺序控制、双指针法找前驱节点、先存后删的]]></description><category></category></item><item><title><![CDATA[数据结构：双向循环链表的全方位解构]]></title><link>https://blog.youkuaiyun.com/DDXYcoder/article/details/163365316</link><guid>https://blog.youkuaiyun.com/DDXYcoder/article/details/163365316</guid><author>DDXYcoder</author><pubDate>Fri, 31 Jul 2026 13:39:57 +0800</pubDate><description><![CDATA[本文解析了双向循环链表的核心思想与实现。通过引入哨兵节点和双向指针，解决了单链表查找前驱效率低的问题。关键点包括：1）使用自环哨兵节点统一空表处理；2）通过prev指针实现O(1)前驱访问；3）首尾相连形成循环结构。文章详细说明了节点定义、初始化、插入删除等操作的实现细节，特别强调了指针修改顺序的重要性，如"先改新节点再改旧节点"的原则。双向循环链表虽增加空间开销，但显著提升了头尾操作效率，是空间换时间的典型应用。]]></description><category></category></item><item><title><![CDATA[Claude Code桌面版:CLI的GUI化革命]]></title><link>https://blog.youkuaiyun.com/DDXYcoder/article/details/162709962</link><guid>https://blog.youkuaiyun.com/DDXYcoder/article/details/162709962</guid><author>DDXYcoder</author><pubDate>Thu, 09 Jul 2026 01:59:39 +0800</pubDate><description><![CDATA[《ClaudeCode桌面版：从命令行到图形界面的体验升级》摘要 这款由开发者自研的ClaudeCode桌面版将原本的命令行工具转化为直观的GUI界面，显著降低了使用门槛。核心功能包括：1）聊天式交互界面，零学习成本；2）支持语法高亮的代码阅读体验；3）项目管理功能，可分类存储和检索历史对话；4）无缝模型切换支持。特别适合不熟悉终端操作的用户、追求高效代码阅读的开发者，以及需要管理多项目对话的重度用户。通过图形化改造，使专业级AI编程工具变得更为亲民实用。]]></description><category></category></item><item><title><![CDATA[七大排序算法全解析：从插入到三路快排，手把手带你掌握核心思想与实战陷阱]]></title><link>https://blog.youkuaiyun.com/DDXYcoder/article/details/162460124</link><guid>https://blog.youkuaiyun.com/DDXYcoder/article/details/162460124</guid><author>DDXYcoder</author><pubDate>Tue, 30 Jun 2026 17:09:45 +0800</pubDate><description><![CDATA[本文介绍了6种经典排序算法及其实现：插入排序（O(n²)，稳定）、希尔排序（O(n^1.3)，不稳定）、冒泡排序（O(n²)，稳定）、选择排序（O(n²)，不稳定）、堆排序（O(nlogn)，不稳定）和快速排序。每种算法都包含核心思想、代码实现和关键点分析：如插入排序适合小数据量，希尔是插入的优化版本；堆排序需注意建大根堆；选择排序存在"最大值被换走"的经典陷阱。文中还提供了交换函数和堆调整函数等辅助工具，强调算法选择需综合考虑数据规模、有序度、稳定性等因素，没有绝对最优解。所有实现均采用C语言，注重工程实]]></description><category></category></item></channel></rss>