<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[mjy5201的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/mjy5201</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; mjy5201]]></copyright><item><title><![CDATA[基于boost库的站内搜索引擎]]></title><link>https://blog.youkuaiyun.com/mjy5201/article/details/126625593</link><guid>https://blog.youkuaiyun.com/mjy5201/article/details/126625593</guid><author>mjy5201</author><pubDate>Wed, 31 Aug 2022 16:16:33 +0800</pubDate><description><![CDATA[在这里插入图片描述](https://img-blog.csdnimg.cn/891afbc5a25d46d09caa0d57711af7a9.png。]]></description><category></category></item><item><title><![CDATA[【C++】C++之继承]]></title><link>https://blog.youkuaiyun.com/mjy5201/article/details/125738179</link><guid>https://blog.youkuaiyun.com/mjy5201/article/details/125738179</guid><author>mjy5201</author><pubDate>Tue, 12 Jul 2022 22:32:38 +0800</pubDate><description><![CDATA[继承的概念
继承机制是面向对象程序设计使代码可以复用的最重要的手段，他允许程序员在保持原有类特性的基础上进行扩展，增加功能，这样产生的新类称为派生类。继承呈现了面向对象程序设计的层次结构，体现了由简单到复杂的认知过程。以前我们接触的复用都是函数复用，继承是类设计层次的复用。
总结：
1.基类的private成员在派生类中无论以什么方式继承都是不可见的。这里的不可见是指基类的私有成员还是被继承到派生类对象当中，但语法上限制派生类对象不管在类内还是类外都不能访问他。
2.基类的private成员在派生类中是不能]]></description><category></category></item><item><title><![CDATA[【C++】模板、STL、浅拷贝和深拷贝、string类模拟实现]]></title><link>https://blog.youkuaiyun.com/mjy5201/article/details/125709949</link><guid>https://blog.youkuaiyun.com/mjy5201/article/details/125709949</guid><author>mjy5201</author><pubDate>Mon, 11 Jul 2022 16:38:28 +0800</pubDate><description><![CDATA[泛型编程：编写与类型无关的通用代码，是代码复用的一种手段。模板是泛型编程的基础。
函数模板：函数模板代表了一个函数家族，该函数模板与类型无关，在使用时被参数化，根据实参类型产生函数的特定类型版本。
函数模板格式：
template
返回类型值 函数名（参数列表）{}
函数模板的实例化
隐式实例化和显示实例化
一个非模板函数可以和一个同名的函数模板同时存在，而且该函数模板还可以被实例化为这个非模板函数
对于非模板函数和同名函数模板，...]]></description><category></category></item><item><title><![CDATA[【C++】C/C++内存分布、C/C++动态内存管理方式、内存泄漏]]></title><link>https://blog.youkuaiyun.com/mjy5201/article/details/125699379</link><guid>https://blog.youkuaiyun.com/mjy5201/article/details/125699379</guid><author>mjy5201</author><pubDate>Sun, 10 Jul 2022 11:37:24 +0800</pubDate><description><![CDATA[说明
1.栈幼又叫堆栈，存放非静态局部变量、函数参数、返回值等，栈是向下增长的
2.内存映射段是高效的I/O映射方式，用于装载一个共享的动态内存库。用户可以使用系统接口共享内存，做进程间通信。
3.堆用于程序运行时动态内存分配，堆是向上增长的
4.数据段存放全局数据和静态数据
5.代码段存放可执行的代码和只读常量malloc，calloc,realloc和free
malloc，calloc，realloc区别
malloc()表示在内存的动态存储区中分配一块长度为size字节的连续区域，参数size为需要]]></description><category></category></item><item><title><![CDATA[【C++复习】1、explicit关键字 2、static成员 3、友元 4、内部类]]></title><link>https://blog.youkuaiyun.com/mjy5201/article/details/125694921</link><guid>https://blog.youkuaiyun.com/mjy5201/article/details/125694921</guid><author>mjy5201</author><pubDate>Sat, 09 Jul 2022 21:28:01 +0800</pubDate><description><![CDATA[构造函数不仅可以构造与初始化对象，对于单个参数的构造函数，还具有类型转换的作用。
运行结果：
单参构造函数：_year=2018
单参构造函数：_year=2090
上述代码的可读性不是很好，用explicit修饰构造函数，将会禁止但参构造函数的隐式转换，以上程序会出错。概念：声明为static的类成员称为类的静态成员，用static修饰的成员变量称为静态成员变量；用static修饰的成员函数称之为静态成员函数。静态的成员变量一定要在类外进行初始化。
static修饰局部变量改变了变量的生命周期，让静态局部]]></description><category></category></item><item><title><![CDATA[【C++复习】1、拷贝构造函数 2、赋值运算符重载3、const成员]]></title><link>https://blog.youkuaiyun.com/mjy5201/article/details/125685793</link><guid>https://blog.youkuaiyun.com/mjy5201/article/details/125685793</guid><author>mjy5201</author><pubDate>Sat, 09 Jul 2022 15:23:46 +0800</pubDate><description><![CDATA[什么是拷贝构造函数？
构造函数只有单个形参，该形参是对本类类型对象的引用（一般用const修饰），在用已存在的类类型创建新对象时由编译器自动调用。
拷贝构造函数的特点
1.拷贝构造函数时构造函数的一个重载形式
2.拷贝构造函数的参数只有一个且必须使用引用传参，使用传值会引发无穷递归调用
3.若未显示定义，系统生成默认的拷贝构造函数。
对内置类型成员，默认的拷贝构造函数会完成按字节序的拷贝，这种拷贝我们叫做浅拷贝或值拷贝。
对于自定义类型，会调用它的默认拷贝构造函数。
4.编译器生成的默认拷贝构造函数已经可以]]></description><category></category></item><item><title><![CDATA[【C++复习】1、结构体对齐 2、大小端 3、this指针 4、构造函数 5、析构函数]]></title><link>https://blog.youkuaiyun.com/mjy5201/article/details/125672230</link><guid>https://blog.youkuaiyun.com/mjy5201/article/details/125672230</guid><author>mjy5201</author><pubDate>Fri, 08 Jul 2022 17:20:46 +0800</pubDate><description><![CDATA[为什么存在结构体内存对齐
1.平台原因
不是所有的硬件平台都能访问任意地址上的任意数据的；某些硬件平台只能在某些地址处取某些特定类型的数据，否则抛出异常。
2.性能原因
数据结构尤其是（尤其是栈）应该尽可能的在自然边界上对齐。
原因在于，为了访问未对齐的内存，处理器需要做两次内存访问；而对齐的内存仅需要一次内存访问。1.第一个成员在与结构体偏移量为0的地址处。
2.其它成员变量要对齐到某个数字（对齐数）的整数倍的地址处。
注意：对齐数=编译器默认的一个对齐数与该成员大小的较小值。
VS中默认的对齐数为8.
]]></description><category></category></item><item><title><![CDATA[[剑指offer]03. 数组中重复的数字，04. 二维数组中的查找，05. 替换空格]]></title><link>https://blog.youkuaiyun.com/mjy5201/article/details/125607800</link><guid>https://blog.youkuaiyun.com/mjy5201/article/details/125607800</guid><author>mjy5201</author><pubDate>Mon, 04 Jul 2022 21:43:48 +0800</pubDate><description><![CDATA[在一个长度为 n 的数组 nums 里的所有数字都在 0～n-1 的范围内。数组中某些数字是重复的，但不知道有几个数字重复了，也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。
以[2,3,1,0,4,5,3]为例，数组第0个数字为2，将2与数组第2个位置的数字交换。交换之后的数组[1,3,2,0,4,5,3]第0个元素为1，继续将1与数组中第一个数字交换，交换后的数组为	[3,1,2,0,4,5,3]，继续交换直到第一个位置的数字为0。此时数组为	[0,1,2,3,2,5,3]，数组0,1,2,]]></description><category></category></item><item><title><![CDATA[数据结构------算法复杂度]]></title><link>https://blog.youkuaiyun.com/mjy5201/article/details/123940195</link><guid>https://blog.youkuaiyun.com/mjy5201/article/details/123940195</guid><author>mjy5201</author><pubDate>Sun, 03 Apr 2022 18:27:05 +0800</pubDate><description><![CDATA[数据结构------day1前言一、算法的时间复杂度和空间复杂度1、时间复杂度1.1 定义1.2 大O的渐进表示法1.3 常见的时间复杂度举例2、空间复杂度2.1 定义2.2 举例总结

前言
数据结构(Data Structure)：数据结构是计算机存储、组织数据的方式，指相互之间存在一种或多种特定关系的数据元素的集合。
算法(Algorithm):就是定义良好的计算过程，他取一个或一组的值为输入，并产生出一个或一组值作为输出。简单来说算法就是一系列的计算步骤，用来将输入数据转化成输出结果。
资料推荐：《]]></description><category></category></item></channel></rss>