<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[2201_75537973的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/2201_75537973</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; 2201_75537973]]></copyright><item><title><![CDATA[Json-rpc通信项目（基于C++ Jsoncpp muduo库）]]></title><link>https://blog.youkuaiyun.com/2201_75537973/article/details/151421253</link><guid>https://blog.youkuaiyun.com/2201_75537973/article/details/151421253</guid><author>2201_75537973</author><pubDate>Thu, 11 Sep 2025 14:51:20 +0800</pubDate><description><![CDATA[C++,muduo,Json,Rpc]]></description><category></category></item><item><title><![CDATA[排序算法总结]]></title><link>https://blog.youkuaiyun.com/2201_75537973/article/details/147813378</link><guid>https://blog.youkuaiyun.com/2201_75537973/article/details/147813378</guid><author>2201_75537973</author><pubDate>Fri, 09 May 2025 11:53:20 +0800</pubDate><description><![CDATA[在讲解排序算法之前，我们需要先了解一下排序所谓排序，就是将数据按照我们的想法将其按照一定规律组合在一起稳定性：一组数据中的数据是否在排序前后都保持的一定的前后顺序关系，比如在排序前a[3]=2  a[5]=2，这时他们有着前后的顺序关系，在排序后，扔保持着第一个2在第二个2的后面，这种就是稳定的，废话不多说，直接上干货。]]></description><category></category></item><item><title><![CDATA[C++BlitzMemoryPool]]></title><link>https://blog.youkuaiyun.com/2201_75537973/article/details/147347263</link><guid>https://blog.youkuaiyun.com/2201_75537973/article/details/147347263</guid><author>2201_75537973</author><pubDate>Sat, 19 Apr 2025 18:07:50 +0800</pubDate><description><![CDATA[我们在做项目时，不是为了做一个多厉害的东西，重要的事我们在每一个细节中学到了什么，如果要比优劣，我们是一定比不过tcmalloc的，重要的是一件事的处理方法，站在巨人的肩膀上，我们才能看的更远，所以，学习应该是贯彻我们一生的一件事，不断的通过一些新鲜的事务来开阔自己的眼界，从而使自己成长！]]></description><category></category></item><item><title><![CDATA[C++STL(string底层实现)]]></title><link>https://blog.youkuaiyun.com/2201_75537973/article/details/146111438</link><guid>https://blog.youkuaiyun.com/2201_75537973/article/details/146111438</guid><author>2201_75537973</author><pubDate>Sat, 08 Mar 2025 10:13:35 +0800</pubDate><description><![CDATA[比如在没有显式定义其拷贝构造函数与赋值运算符重载时，此时编译器会生成默认的，用s1构造s2时，编译器会调用默认的拷贝构造，最终导致两个对象共同指向同一块内存空间，比如s1想更改时，s2会随之更改，更严重的是，在释放时，会造成一个空间被释放两次的情况，从而引起程序崩溃，这种拷贝方式就是浅拷贝，解决办法就是自己写一个深拷贝的拷贝构造，即我再申请一块空间，让两个对象不指向同一个空间，各玩各的。我们用一个变量来记录资源使用者的个数，当某个对象被销毁时，引用计数-1，只有当计数为0时，我们才释放资源。]]></description><category></category></item><item><title><![CDATA[C++STL(string介绍+使用方法)]]></title><link>https://blog.youkuaiyun.com/2201_75537973/article/details/146110572</link><guid>https://blog.youkuaiyun.com/2201_75537973/article/details/146110572</guid><author>2201_75537973</author><pubDate>Sat, 08 Mar 2025 09:48:53 +0800</pubDate><description><![CDATA[接下来我会为大家讲解C++非常厉害非常有用的一部分，也就是STL。]]></description><category></category></item><item><title><![CDATA[C++模版1]]></title><link>https://blog.youkuaiyun.com/2201_75537973/article/details/145942548</link><guid>https://blog.youkuaiyun.com/2201_75537973/article/details/145942548</guid><author>2201_75537973</author><pubDate>Sat, 01 Mar 2025 09:07:55 +0800</pubDate><description><![CDATA[我们在学习C语言的时候，想实现一个交换函数，我们该怎么实现呢？这是一个简单的交换函数，但是他只指定了一种类型，如果我们想要double类型和double类型进行交换呢？想要double类型和int类型交换呢？等等等等，是不是只能自己去实现每一种特例呢？在C语言时是这样的，但是C++发现了这个痛点，于是就有了模版！！这也是C++泛型编程的体现。]]></description><category></category></item><item><title><![CDATA[C++类和对象4（日期类的实现）]]></title><link>https://blog.youkuaiyun.com/2201_75537973/article/details/145796247</link><guid>https://blog.youkuaiyun.com/2201_75537973/article/details/145796247</guid><author>2201_75537973</author><pubDate>Sat, 22 Feb 2025 15:46:40 +0800</pubDate><description><![CDATA[具体细节都在代码中标注出了，我就不一一赘述了。测试代码很简单，大家自己写就行。]]></description><category></category></item><item><title><![CDATA[C++类和对象3]]></title><link>https://blog.youkuaiyun.com/2201_75537973/article/details/145792016</link><guid>https://blog.youkuaiyun.com/2201_75537973/article/details/145792016</guid><author>2201_75537973</author><pubDate>Sat, 22 Feb 2025 13:53:47 +0800</pubDate><description><![CDATA[1.上一篇文章我们说，实现构造函数时，初始化成员变量主要使用函数体赋值，构造函数初始化还有一种方式，就是初始化列表，初始化列表的使用方式是以一个冒号开始，接着是以一个逗号分隔的数据成员列表，每一个成员变量后面跟一个放在括号中的初始值或表达式2.每个成员变量在初始化列表中只能出现一次，语法理解上初始化列表可以认为是每个成员变量定义初始化的地方3.必须放在初始化列表位置进行初始化，否则会编译报错。]]></description><category></category></item><item><title><![CDATA[C++类和对象2]]></title><link>https://blog.youkuaiyun.com/2201_75537973/article/details/145790077</link><guid>https://blog.youkuaiyun.com/2201_75537973/article/details/145790077</guid><author>2201_75537973</author><pubDate>Sat, 22 Feb 2025 11:09:20 +0800</pubDate><description><![CDATA[默认成员函数就是用户没有显示实现，编译器会自动生成的成员函数，称为默认成员函数。一个类，在我们的不写的情况下，编译器会默认生成6个默认成员函数（基于C++98，后面C++11还会增加两个移动构造和移动赋值，等到讲解到C++11时再细讲）关于类的默认成员函数有两点我们应该思考：1.我们不写时，编辑器默认生成的函数行为是什么？是否满足我们的要求？2.编译器默认生成的函数不满足我们的要求时，我们需要自己实现，我们该怎么实现？构造函数：完成初始化工作析构函数：完成清理工作。]]></description><category></category></item><item><title><![CDATA[C++类和对象1]]></title><link>https://blog.youkuaiyun.com/2201_75537973/article/details/145230962</link><guid>https://blog.youkuaiyun.com/2201_75537973/article/details/145230962</guid><author>2201_75537973</author><pubDate>Sat, 18 Jan 2025 19:50:43 +0800</pubDate><description><![CDATA[class为定义类的关键字，后面加上类的名字，{}中为类的主体，同时分号也不能生路省略类中的变量称为类的属性或成员变量，类中的函数成为类的方法或者成员函数为了区分成员变量，一般习惯上成员变量会加上一个特殊标识，没有硬性规定，自己怎么舒服怎么来，比如前面加_C++中struct也可以定义类，一般情况下还是用class来定义类定义在类里面的成员函数默认为inline这是一个简单的日期类，但让还并不完善，还需要我们一步步进行完善。]]></description><category></category></item><item><title><![CDATA[C++基础]]></title><link>https://blog.youkuaiyun.com/2201_75537973/article/details/145137140</link><guid>https://blog.youkuaiyun.com/2201_75537973/article/details/145137140</guid><author>2201_75537973</author><pubDate>Tue, 14 Jan 2025 15:48:50 +0800</pubDate><description><![CDATA[C++入门基础]]></description><category></category></item><item><title><![CDATA[C4996 ‘scanf‘: This function or variable may be unsafe. Consider using scanf_s instead. To disable]]></title><link>https://blog.youkuaiyun.com/2201_75537973/article/details/145097845</link><guid>https://blog.youkuaiyun.com/2201_75537973/article/details/145097845</guid><author>2201_75537973</author><pubDate>Sun, 12 Jan 2025 19:43:49 +0800</pubDate><description><![CDATA[这里给大家提供一个一劳永逸的方法，也是我最推荐的方法！1.可以使用scanf_s函数，但是这种方法我不建议，因为你的代码使用了scanf_s函数，其他编译器就不认识，代码可移植性就不好了。大家在使用vs2022时会用到scanf函数，第一次使用时会遇到一些问题这里主要是给大家提供一些解决方法。打开这个文件把上面的一句代码写到这个文件中，即可在每次创建文件时自动加入此句话，也就彻底解决了这个问题。有的电脑会提示无法保存，只要复制一份文件放在桌面再写入，然后替换原位置文件即可！]]></description><category></category></item><item><title><![CDATA[C语言数据类型和变量]]></title><link>https://blog.youkuaiyun.com/2201_75537973/article/details/144828653</link><guid>https://blog.youkuaiyun.com/2201_75537973/article/details/144828653</guid><author>2201_75537973</author><pubDate>Mon, 06 Jan 2025 11:26:04 +0800</pubDate><description><![CDATA[什么是数据类型呢？C语言提供了丰富的数据类型来描述生活中的各种数据，比如使用整型类型来描述整数，字符类型来描述字符，浮点型类型描述小数。“类型”就是相似的数据所拥有的共同特征，编译器只有知道了数据的类型，才知道怎么操作数据。]]></description><category></category></item><item><title><![CDATA[C语言常见概念--梦的开始（入门初讲解）]]></title><link>https://blog.youkuaiyun.com/2201_75537973/article/details/144785630</link><guid>https://blog.youkuaiyun.com/2201_75537973/article/details/144785630</guid><author>2201_75537973</author><pubDate>Sat, 28 Dec 2024 14:15:24 +0800</pubDate><description><![CDATA[在VS上写代码，我们需要创建项目时，直接新建项目就可以，在项目中就可以添加源文件和头文件源文件（.c）头文件（.h）自行选择创建头文件还是源文件，这里要注意的时，在创建C语言文件时后缀为.c，日后我们学习C++的时候会用到.cpp。]]></description><category></category></item><item><title><![CDATA[算法修炼双指针_（盛水最多的容器）]]></title><link>https://blog.youkuaiyun.com/2201_75537973/article/details/143133979</link><guid>https://blog.youkuaiyun.com/2201_75537973/article/details/143133979</guid><author>2201_75537973</author><pubDate>Mon, 21 Oct 2024 21:43:55 +0800</pubDate><description><![CDATA[仔细观察，v=h * w，我们会发现，在两个指针中数据大的不动的时候，数据小的指针向内遍历，无论怎样遍历，体积都不会比以前大，这时，我们只需在第一次两指针在原位置时记录一次体积，当两指针的数据谁小时，谁向内走一步，再记录一次体积，最后两个指针相遇时，遍历结束，最后返回出最大的体积，这里复杂度为o（n），是一种比较优秀的解法，如果阅读本文的大佬有更好的解法，欢迎交流！此题力扣上给出的难度等级为中等难度，看似很有难度，但是找到其中的规律我们就会发现非常简单。]]></description><category></category></item><item><title><![CDATA[算法修炼（双指针_判断一个数是否为快乐数）]]></title><link>https://blog.youkuaiyun.com/2201_75537973/article/details/143035004</link><guid>https://blog.youkuaiyun.com/2201_75537973/article/details/143035004</guid><author>2201_75537973</author><pubDate>Fri, 18 Oct 2024 10:19:39 +0800</pubDate><description><![CDATA[看到这儿的时候，我们就会发现，无论哪种情况，他们都会陷入一种循环的方式，思考一下，如果大家学习过链表的话，一定会做过一道题目，判断链表是否带环，这里这道题和判断链表是否带环有异曲同工之处，这里我们不需要判断是否带环，题目已经告诉我们，他一定是带环的，我们只需判断环中的数据，为1就是快乐数。首先我们要根据题目解析一下到底什么是快乐数，这也是我们解题的核心，给定一个数，对他进行操作，将他的每一位都进行平方后相加，得到数据中的第二个数据，以此类推，进行此操作后，我们的数据会走向两个结果，1,结果为1（]]></description><category></category></item><item><title><![CDATA[算法修炼（双指针_复写0）]]></title><link>https://blog.youkuaiyun.com/2201_75537973/article/details/143033133</link><guid>https://blog.youkuaiyun.com/2201_75537973/article/details/143033133</guid><author>2201_75537973</author><pubDate>Fri, 18 Oct 2024 09:01:06 +0800</pubDate><description><![CDATA[今天给大家介绍一道经典的双指针算法题目，力扣上面虽然给此题定义为简单，但是还是有很多技巧需要我们掌握的，话不多说，我们先上题目。]]></description><category></category></item><item><title><![CDATA[算法修炼（双指针_移动零）]]></title><link>https://blog.youkuaiyun.com/2201_75537973/article/details/142929848</link><guid>https://blog.youkuaiyun.com/2201_75537973/article/details/142929848</guid><author>2201_75537973</author><pubDate>Mon, 14 Oct 2024 22:05:36 +0800</pubDate><description><![CDATA[接下来一段时间我们将对算法进行深度学习，今天我们由一道简单的题目引入本算法。]]></description><category></category></item><item><title><![CDATA[数据结构链表下——双链表]]></title><link>https://blog.youkuaiyun.com/2201_75537973/article/details/140795506</link><guid>https://blog.youkuaiyun.com/2201_75537973/article/details/140795506</guid><author>2201_75537973</author><pubDate>Tue, 30 Jul 2024 15:07:09 +0800</pubDate><description><![CDATA[定义一个双向链表的每一个结点又三个部分组成，分为该结点所存储的数据data，该结点的next指针指向该节点的下一个结点，该结点的prev指针指向该节点的前一个结点，这里我们定义为LTNode}LTNode;]]></description><category></category></item><item><title><![CDATA[数据结构链表上——单链表]]></title><link>https://blog.youkuaiyun.com/2201_75537973/article/details/140528399</link><guid>https://blog.youkuaiyun.com/2201_75537973/article/details/140528399</guid><author>2201_75537973</author><pubDate>Thu, 18 Jul 2024 18:44:50 +0800</pubDate><description><![CDATA[单链表有两部分1结点的数据data2结点的next指针指向下一个结点}SLTNode;]]></description><category></category></item></channel></rss>