<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[吃最大碗的饭的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/guwei0012</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; guwei0012]]></copyright><item><title><![CDATA[做了一个给网络工程师用的自动化工具 Netryx，想找一些同行一起测试]]></title><link>https://blog.youkuaiyun.com/guwei0012/article/details/165007161</link><guid>https://blog.youkuaiyun.com/guwei0012/article/details/165007161</guid><author>guwei0012</author><pubDate>Fri, 11 Sep 2026 21:47:24 +0800</pubDate><description><![CDATA[Netryx 最开始只是想解决一些自己工作中的问题。“再做一个网络工具箱。如果把终端、设备、网络工具、Workflow、MCP、本地模型和网络领域知识真正组合起来，能不能做出一个网络工程师真正愿意使用的 Network Agent？这也是接下来一段时间我准备重点验证的问题。Netryx 目前正在进行 Beta 测试。如果你也是网络工程师，尤其是正在从事网络运维、网络安全、NetDevOps 或网络自动化相关工作，对这个方向感兴趣，欢迎留言交流。如果愿意实际体验 Beta，可以直接在Netryx官方网站。]]></description><category></category></item><item><title><![CDATA[C++中的浅拷贝/深拷贝/赋值运算符]]></title><link>https://blog.youkuaiyun.com/guwei0012/article/details/155205772</link><guid>https://blog.youkuaiyun.com/guwei0012/article/details/155205772</guid><author>guwei0012</author><pubDate>Mon, 24 Nov 2025 21:38:56 +0800</pubDate><description><![CDATA[本文介绍了C++中的拷贝机制及其实现要点。拷贝分为浅拷贝（仅复制指针，共享内存）和深拷贝（完全复制内存内容）。默认拷贝构造函数和赋值运算符执行浅拷贝，可能导致double free等问题。通过自定义拷贝构造函数（A(const A&amp;)）和赋值运算符（A&amp; operator=(const A&amp;)）可实现深拷贝。文章强调Rule of Three原则：若实现析构函数、拷贝构造或赋值运算符中的任意一个，必须同时实现另外两个，以避免资源泄漏。对于不可拷贝的类（如管理资源的类），可用=dele]]></description><category></category></item><item><title><![CDATA[C++设计模式-单例模式]]></title><link>https://blog.youkuaiyun.com/guwei0012/article/details/153576420</link><guid>https://blog.youkuaiyun.com/guwei0012/article/details/153576420</guid><author>guwei0012</author><pubDate>Sun, 19 Oct 2025 16:03:05 +0800</pubDate><description><![CDATA[摘要：单例模式确保类在系统中只有一个实例，并提供全局访问点。主要适用于配置管理、日志系统、线程池/数据库连接池等需要共享资源的场景。实现方式包括：1)懒汉式（需要时才创建，需加锁保证线程安全）；2)升级版懒汉式（使用call_once保证线程安全）；3)饿汉式（程序启动即创建，线程安全）。典型应用如线程安全的日志系统，通过静态实例和互斥锁确保单例性和线程安全。实现时需注意构造私有化、禁用拷贝构造和赋值运算符，防止多实例创建。]]></description><category></category></item><item><title><![CDATA[C++回调函数以及使用方法]]></title><link>https://blog.youkuaiyun.com/guwei0012/article/details/153275292</link><guid>https://blog.youkuaiyun.com/guwei0012/article/details/153275292</guid><author>guwei0012</author><pubDate>Tue, 14 Oct 2025 21:53:55 +0800</pubDate><description><![CDATA[C++回调函数机制详解：回调函数是通过将函数地址作为参数传递，在特定时机被调用的机制。文章介绍了三种实现方式：传统函数指针（类型受限）、std::function+std::bind（推荐，支持成员函数和lambda）以及lambda表达式（可捕获变量）。典型应用场景包括异步任务通知、事件驱动和插件系统。最佳实践建议优先使用std::function、规范命名（onXxx/callbackXxx）并注意生命周期管理。文中通过下载器案例演示了进度回调的实现，展示了回调在异步编程中的实际应用价值。]]></description><category></category></item><item><title><![CDATA[C++中static的用法]]></title><link>https://blog.youkuaiyun.com/guwei0012/article/details/153198107</link><guid>https://blog.youkuaiyun.com/guwei0012/article/details/153198107</guid><author>guwei0012</author><pubDate>Mon, 13 Oct 2025 15:47:42 +0800</pubDate><description><![CDATA[本文介绍了C++中static关键字的四种用法：修饰局部变量保持状态、限制全局变量/函数作用域、定义类静态成员变量和静态成员函数。着重讲解了静态成员函数在工厂模式中的应用，通过Shape类的静态工厂方法create()封装对象创建逻辑，实现创建与使用的解耦。虽然工厂方法通常声明为static以无需实例化即可创建对象，但static是语言特性，工厂方法是设计模式，二者虽常结合使用但本质不同。使用static工厂方法能提升代码封装性和可维护性。]]></description><category></category></item><item><title><![CDATA[Google Test测试框架库的使用方法]]></title><link>https://blog.youkuaiyun.com/guwei0012/article/details/151874446</link><guid>https://blog.youkuaiyun.com/guwei0012/article/details/151874446</guid><author>guwei0012</author><pubDate>Fri, 19 Sep 2025 22:01:57 +0800</pubDate><description><![CDATA[Google Test 安装与使用指南 本文介绍了 Google Test 框架的安装和使用方法。在安装部分，详细说明了 Linux、MacOS 和 Windows 系统下的不同安装方式，包括使用包管理器和源码编译两种方法。使用部分展示了如何编写测试用例，包括 TEST 宏的基本写法、各种断言的使用方法（如相等/不等、布尔检查、字符串比较、浮点数比较和异常检查等），并比较了 EXPECT_* 和 ASSERT_* 宏的区别。最后提供了 GTest 断言的速查表，方便开发者快速查阅常用的断言方法。]]></description><category></category></item><item><title><![CDATA[虚函数、纯虚函数与接口抽象]]></title><link>https://blog.youkuaiyun.com/guwei0012/article/details/151790668</link><guid>https://blog.youkuaiyun.com/guwei0012/article/details/151790668</guid><author>guwei0012</author><pubDate>Wed, 17 Sep 2025 12:26:35 +0800</pubDate><description><![CDATA[虚函数实现运行时多态，通过基类指针调用子类函数；纯虚函数定义接口规范，强制子类实现。虚函数使程序在运行时根据对象真实类型决定调用哪个函数，而非指针类型。纯虚函数（=0）使类成为抽象类，不能实例化，只能作为接口规范。通过Shape抽象类和Circle、Rectangle子类示例，展示了如何利用虚函数抽象接口，实现不同图形的绘制和面积计算功能。虚函数机制是面向对象多态性的核心实现方式。]]></description><category></category></item><item><title><![CDATA[Const在C++中如何使用]]></title><link>https://blog.youkuaiyun.com/guwei0012/article/details/151682705</link><guid>https://blog.youkuaiyun.com/guwei0012/article/details/151682705</guid><author>guwei0012</author><pubDate>Sun, 14 Sep 2025 15:05:36 +0800</pubDate><description><![CDATA[C++中的const用法解析：const变量不可修改；const指针分四种情况，控制指针和指向内容的可变性；const引用只读不改；成员函数加const表示不修改对象状态；const引用能延长临时对象生命周期；const对象无法移动只能拷贝。const用于保障代码安全性和表达设计意图，需合理使用避免过度限制。]]></description><category></category></item><item><title><![CDATA[标准CMake项目文件（CMakeLists.txt）说明]]></title><link>https://blog.youkuaiyun.com/guwei0012/article/details/151583337</link><guid>https://blog.youkuaiyun.com/guwei0012/article/details/151583337</guid><author>guwei0012</author><pubDate>Thu, 11 Sep 2025 16:57:15 +0800</pubDate><description><![CDATA[注意：以Clion为例，如果修改了CMake文件或者添加了多个add_executable，生成不同的可执行文件，一定要reload重新加载CMake文件。顶层CMakeLists.txt。src中的CMakeLists。lib中的CMakeLists。]]></description><category></category></item><item><title><![CDATA[c++运算符重载]]></title><link>https://blog.youkuaiyun.com/guwei0012/article/details/151371381</link><guid>https://blog.youkuaiyun.com/guwei0012/article/details/151371381</guid><author>guwei0012</author><pubDate>Tue, 09 Sep 2025 21:23:14 +0800</pubDate><description><![CDATA[全局函数：更加灵活，比如int+Number也可以支持。，就会查找是否定义了operator+来处理。5、一个极简的 2D 向量，用来演示运算符重载。其他：-> ->* , new delete。在c++中，运算符其实就是特殊名字的函数。关系运算符：==!= < > <= >=成员函数：左操作数必须是本类对象。算术运算符：+ - * / %赋值运算符：=（建议总是重载），只改变“运算时的含义”。逻辑运算符：&& ||!2、运算重载符的使用。2.1 成员函数方式。输入输出：<< >>自增自减：++ --]]></description><category></category></item></channel></rss>