<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Little_XWB的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Little_XWB</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Little_XWB]]></copyright><item><title><![CDATA[操作系统中进程与线程]]></title><link>https://blog.youkuaiyun.com/Little_XWB/article/details/115627654</link><guid>https://blog.youkuaiyun.com/Little_XWB/article/details/115627654</guid><author>Little_XWB</author><pubDate>Mon, 12 Apr 2021 16:40:32 +0800</pubDate><description><![CDATA[进程是具有一定功能的程序关于某个数据集合上的一次运行活动，进程是系统进行资源调度和分配的一个独立单位。
每个进程有一个地址空间和一个控制线程（也可多个），进程定义。
线程是进程的实体，是CPU调度和分派的基本单位，它是比进程更小的能独立运行的基本单位。
一个进程可以有多个线程，多个线程也可以并发运行。





每个进程中的内容
每个线程中的内容




地址空间
程序计数器


全局变量
寄存器


打开文件
堆栈


子进程
状态


即将发生的报警



信号与信号处理程序



账户信息




.]]></description><category></category></item><item><title><![CDATA[计算机网络]]></title><link>https://blog.youkuaiyun.com/Little_XWB/article/details/115137692</link><guid>https://blog.youkuaiyun.com/Little_XWB/article/details/115137692</guid><author>Little_XWB</author><pubDate>Fri, 09 Apr 2021 19:47:01 +0800</pubDate><description><![CDATA[1、五层网络协议体系结构的理解

应用层
应用层的任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程间的通信和交互的规则。对于不同的网络应用需要不同的应用层协议。在互联网中应用层协议很多，如域名系统DNS，支持万维网应用的HTTP协议，支持电子邮件的SMTP协议等等。应用层交互的数据单元称为报文
运输层
运输层的主要任务就是负责向两台主机进程之间的通信提供通用的数据传输服务。应用进程利用该服务传送应用层报文。通用的是指并不针对某一个特定的网络应用，而是多种应用可以使用同一个运输层服务。]]></description><category></category></item><item><title><![CDATA[计算机网络相关知识点]]></title><link>https://blog.youkuaiyun.com/Little_XWB/article/details/113076060</link><guid>https://blog.youkuaiyun.com/Little_XWB/article/details/113076060</guid><author>Little_XWB</author><pubDate>Mon, 25 Jan 2021 10:20:05 +0800</pubDate><description><![CDATA[计算机网络七层模型

应用层（数据）
表示层（数据）
会话层（数据）
传输层（数据报文）
网络层（数据分组）
数据链路层（帧）
物理层（比特）

TCP/IP四层模型

应用层：应用进程-&gt;文件传输协议（FTP）、域名服务（DNS）、超文本传输协议（HTTP）
传输层：TCP/UDP
网络层：ICMP/IGMP/ARP/RARP/IP网络协议 IP
网络接口层：网络接口

七层架构简述

物理层：主要定义物理设备标准，如网线的接口类型、各种传输介质的传输速率等。主要作用是传输比特流（由1、0转化为电流]]></description><category></category></item><item><title><![CDATA[C++知识点总结]]></title><link>https://blog.youkuaiyun.com/Little_XWB/article/details/112252456</link><guid>https://blog.youkuaiyun.com/Little_XWB/article/details/112252456</guid><author>Little_XWB</author><pubDate>Thu, 21 Jan 2021 10:37:49 +0800</pubDate><description><![CDATA[一、static关键字的作用
1、静态成员的特点
（1）static数据成员通常类内声明，类外定义；
（2）static数据成员只能在类的外部进行初始化；
（3）static数据成员可以是该成员所属的类类型，而非static数据成员只能自身类的引用或者指针；
（4） static数据成员可以用作类成员函数的默认实参；
（5）static数据成员的值可以改变。
2、静态成员和非静态成员的区别
（1）静态变量使用static修饰符进行声明，在类被实例化时创建，通过类和对象都可以进行访问；
（2）不带有stati]]></description><category></category></item><item><title><![CDATA[程序的内存模型——new运算符]]></title><link>https://blog.youkuaiyun.com/Little_XWB/article/details/108875929</link><guid>https://blog.youkuaiyun.com/Little_XWB/article/details/108875929</guid><author>Little_XWB</author><pubDate>Tue, 29 Sep 2020 21:23:29 +0800</pubDate><description><![CDATA[C++中的new操作符
知识点1：C++中利用new操作符在堆区开辟数据
知识点2：堆区开辟的数据，由程序员手动开辟，手动释放，释放利用delete
知识点3：语法  new  数据类型
如下图所示代码所示，利用new创建的数据，会返回该数据对应的类型的指针
int* func()
{
    int* a=new int(10);
    return a;
}
int main()
{
    int *p=func();
    cout&lt;&lt;*p&lt;&lt;endl;
    cout]]></description><category></category></item><item><title><![CDATA[程序的内存模型——内存四区]]></title><link>https://blog.youkuaiyun.com/Little_XWB/article/details/108875704</link><guid>https://blog.youkuaiyun.com/Little_XWB/article/details/108875704</guid><author>Little_XWB</author><pubDate>Tue, 29 Sep 2020 21:05:10 +0800</pubDate><description><![CDATA[C++ 程序的内存模型——内存四区
一、程序运行前
1、代码区
存放CPU执行的机器指令
代码区是共享的，目的是对于频繁被执行的程序，只需要在内存中有代码即可
代码区是只读的，使其只读在于防止程序意外修改指令
2、全局区
全局变量和静态变量存放在此
全局区还包含了常量区，字符串常量及其他都在此
该区域的数据在程序结束后由操作系统释放
二、程序运行后
1、栈区
由编译器自动分配释放，存放函数的参数值、局部变量还有形参数据等
注意：不要返回局部变量的地址、栈区开辟的数据由编译器自动释放
2、堆区
由程序员分配释]]></description><category></category></item><item><title><![CDATA[C++ 继承]]></title><link>https://blog.youkuaiyun.com/Little_XWB/article/details/108188353</link><guid>https://blog.youkuaiyun.com/Little_XWB/article/details/108188353</guid><author>Little_XWB</author><pubDate>Sun, 23 Aug 2020 21:00:08 +0800</pubDate><description><![CDATA[继承
1、通过继承联系在一起的类构成一种层次关系。
2、通常在层次关系的根部有一个基类，基类负责定义在层次关系中所有类共同拥有的成员。
//公共页面
class BasePage
{
public:
	void Header()
	{
		cout &lt;&lt; "首页 公开课 登录 注册 。。。。。。。。。。。。。（公共头部）" &lt;&lt; endl;
	}
	 
	void footer()
	{
		cout &lt;&lt; "帮助中心 站内地图 交流合作 。。。。。。。。。。（公共底部）]]></description><category></category></item><item><title><![CDATA[C++ 关系重载运算符]]></title><link>https://blog.youkuaiyun.com/Little_XWB/article/details/108187989</link><guid>https://blog.youkuaiyun.com/Little_XWB/article/details/108187989</guid><author>Little_XWB</author><pubDate>Sun, 23 Aug 2020 20:38:20 +0800</pubDate><description><![CDATA[关系运算符==
1、C++中定义相等运算符，它们会比较对象的每一个数据成员，只有当所有对应的成员都相等时才认为两个对象相等。代码如下：
class Person
{
public:
	Person(string name, int age)
	{
		this-&gt;m_Name = name;
		this-&gt;m_Age = age;
	}

	bool operator==(Person&amp; p)
	{
		if (this-&gt;m_Name == p.m_Name&amp;&amp;]]></description><category></category></item><item><title><![CDATA[C++ 赋值重载运算符]]></title><link>https://blog.youkuaiyun.com/Little_XWB/article/details/108187849</link><guid>https://blog.youkuaiyun.com/Little_XWB/article/details/108187849</guid><author>Little_XWB</author><pubDate>Sun, 23 Aug 2020 20:26:05 +0800</pubDate><description><![CDATA[赋值重载运算符
1、赋值重载代码如下：
class Person
{
public:
	Person(int age)
	{
		m_Age = new int(age);
	}

	//重载运算符
	Person&amp; operator=(Person &amp;p)
	{
		if (m_Age != NULL)
		{
			delete m_Age;
			m_Age = NULL;
		}
		
		//提供深拷贝，解决浅拷贝的问题
		m_Age = new int(*p.m_Age);
	]]></description><category></category></item><item><title><![CDATA[C++ 重载操作符+]]></title><link>https://blog.youkuaiyun.com/Little_XWB/article/details/108187610</link><guid>https://blog.youkuaiyun.com/Little_XWB/article/details/108187610</guid><author>Little_XWB</author><pubDate>Sun, 23 Aug 2020 20:12:33 +0800</pubDate><description><![CDATA[重载操作符+
1、成员函数实现“+”号运算符重载
class Person
{
public:
	Person(){};   //切记这里要加{}
	Person(int a, int b)
	{
		this-&gt;m_A = a;
		this-&gt;m_B = b;
	}

	//成员函数实现“+”号运算符重载
	Person operator+ (const Person&amp; p)
	{
		Person temp;
		temp.m_A = this-&gt;m_A + p.m_A;
	]]></description><category></category></item><item><title><![CDATA[C++友元]]></title><link>https://blog.youkuaiyun.com/Little_XWB/article/details/108185629</link><guid>https://blog.youkuaiyun.com/Little_XWB/article/details/108185629</guid><author>Little_XWB</author><pubDate>Sun, 23 Aug 2020 17:28:19 +0800</pubDate><description><![CDATA[全局函数做友元
1、类可以允许其他类或者函数访问它的非公有成员，方法是令其他类或者函数成为它的友元。
2、如果类想把一个函数作为它的友元，只需要增加一条以friend关键字开始的函数声明语句即可，具体操作如下
代码如下：
class Building
{
	friend void goodGay(Building *building);
public:
	Building()
	{
		this-&gt;m_Sittingroom = "我的客厅";
		this-&gt;m_Bedroom = "我的卧室]]></description><category></category></item><item><title><![CDATA[C++ 常函数]]></title><link>https://blog.youkuaiyun.com/Little_XWB/article/details/108185377</link><guid>https://blog.youkuaiyun.com/Little_XWB/article/details/108185377</guid><author>Little_XWB</author><pubDate>Sun, 23 Aug 2020 17:05:53 +0800</pubDate><description><![CDATA[常函数
1、成员函数后加const后，我们称这个函数为常函数。
2、常函数内不可以修改成员属性。
3、成员属性声明时加关键字mutable后，在常函数中依然可以修改
4、声明对象前加const称该对象为常对象。
5、常对象只能调用常函数
代码如下：
class Person
{
public:
	void showPerson() const
	{
		//this-&gt;m_A = 100;
		this-&gt;m_B = 100;
		//this = NULL;
	}

	void func(){]]></description><category></category></item><item><title><![CDATA[C++ 类的静态成员和非静态成员]]></title><link>https://blog.youkuaiyun.com/Little_XWB/article/details/108184988</link><guid>https://blog.youkuaiyun.com/Little_XWB/article/details/108184988</guid><author>Little_XWB</author><pubDate>Sun, 23 Aug 2020 16:49:30 +0800</pubDate><description><![CDATA[类的静态成员不占据类对象的字节数
1、一个空类占用字节数为1；
2、int整形变量占据的字节数为4；
class Person
{
	int m_A;  //非静态成员变量，属于类的对象上

	static int m_B; //静态成员变量，不属于类的对象上

	void func(){}  // 非静态成员函数，不属于类的对象上

	static void func1(){} //静态成员函数，不属于类的对象上
};

3、测试代码
    Person p1;
	cout &lt;&lt; "size]]></description><category></category></item><item><title><![CDATA[C++ 静态成员变量]]></title><link>https://blog.youkuaiyun.com/Little_XWB/article/details/108184208</link><guid>https://blog.youkuaiyun.com/Little_XWB/article/details/108184208</guid><author>Little_XWB</author><pubDate>Sun, 23 Aug 2020 16:03:43 +0800</pubDate><description><![CDATA[静态成员变量
1、成员变量和成员函数前加上关键字static，称为静态成员。
2、静态成员变量：所有对象共享一份数据、在编译阶段分配内存、类内声明，类外初始化。
class Person
{
public:
	static int m_A;
private:
	static int m_B;
};
int Person::m_A = 100;
int Person::m_B = 100;

上诉为类Person的定义，下面代码作为检测
Person p1;
	p1.m_A = 150;
	cout &lt;]]></description><category></category></item><item><title><![CDATA[C++ 函数的占位参数]]></title><link>https://blog.youkuaiyun.com/Little_XWB/article/details/108034088</link><guid>https://blog.youkuaiyun.com/Little_XWB/article/details/108034088</guid><author>Little_XWB</author><pubDate>Sun, 16 Aug 2020 11:34:41 +0800</pubDate><description><![CDATA[函数占位参数，占位参数也可以有默认函数
1、C++中函数的形参列表可以有占位参数，用来作占位，调用函数时必须填补该位置。
2、语法：返回类型   函数名（数据类型）{}
3、占位参数也可以有默认值
4、占位参数若有默认值，调用时也可以不填补
#include &lt;iostream&gt;
using namespace std;

//函数占位参数，占位参数也可以有默认函数
void func(int a, int)
{
	cout &lt;&lt; "this is func" &lt;&lt; en]]></description><category></category></item><item><title><![CDATA[C++  new  操作符的使用]]></title><link>https://blog.youkuaiyun.com/Little_XWB/article/details/108033159</link><guid>https://blog.youkuaiyun.com/Little_XWB/article/details/108033159</guid><author>Little_XWB</author><pubDate>Sun, 16 Aug 2020 10:41:21 +0800</pubDate><description><![CDATA[new 操作符
1、语法
new  数据类型，利用new创建的数据，会返回该数据对应的类型的指针。
2、new和delete
C++利用new操作符在堆区开辟数据，堆区开辟的数据，由程序员手动开辟，手动释放（delete）
3、代码如下所示
    int* arr = new int[10];

	for (int i = 0; i &lt; 10; i++)
	{
		arr[i] = i + 100;
	}

	for (int i = 0; i &lt; 10; i++)
	{
		cout &lt]]></description><category></category></item><item><title><![CDATA[C++ 容器vector类的相关操作]]></title><link>https://blog.youkuaiyun.com/Little_XWB/article/details/108023942</link><guid>https://blog.youkuaiyun.com/Little_XWB/article/details/108023942</guid><author>Little_XWB</author><pubDate>Sat, 15 Aug 2020 16:31:58 +0800</pubDate><description><![CDATA[C++ 容器 vector的相关操作
一、capacity容量
vector的容量永远大于或等于其大小，一旦容量等于大小，便是满载，下次再有新增元素，整个vector容器就得另寻居所。
1、c.capacity();  …不重新分配内存空间的话，c可以保存多少元素
2、c.reserve(); …分配至少能容纳n个元素的内存空间
    vector&lt;int&gt; v;
	for (int i = 0; i &lt; 10; i++)
	{
		v.push_back(i);
		cout &lt;]]></description><category></category></item><item><title><![CDATA[C++ 栈 Stack]]></title><link>https://blog.youkuaiyun.com/Little_XWB/article/details/108023802</link><guid>https://blog.youkuaiyun.com/Little_XWB/article/details/108023802</guid><author>Little_XWB</author><pubDate>Sat, 15 Aug 2020 15:53:31 +0800</pubDate><description><![CDATA[栈符合先进后出的数据结构
栈操作包括：
1、top输出栈顶元素；
2、pop弹出栈顶元素；
3、size栈的大小；
4、push入栈；
5、pop出栈；
栈不提供遍历访问，因此没有迭代器
   stack&lt;int&gt; s;
   s.push(10);
   s.push(20);
   s.push(30);
   s.push(40);
   while (!s.empty())
   {
   	//输出栈顶元素
   	cout &lt;&lt; s.top() &lt;&lt; endl]]></description><category></category></item><item><title><![CDATA[C++ deque容器的相关操作]]></title><link>https://blog.youkuaiyun.com/Little_XWB/article/details/108023169</link><guid>https://blog.youkuaiyun.com/Little_XWB/article/details/108023169</guid><author>Little_XWB</author><pubDate>Sat, 15 Aug 2020 15:43:51 +0800</pubDate><description><![CDATA[标题 C++ deque 容器
一、deque的构造函数
1、c.push_back(k)，在c的尾部创建一个值为t或由args创建的元素。返回void
2、c.push_front(t)，在c的头部创建一个值为t或由args创建的元素.返回void
    deque&lt;int&gt; d;
	d.push_back(10);
	d.push_back(20);
	d.push_back(30);
	d.push_back(40);
	printDeque(d);

输出：
10 20 30 40
请]]></description><category></category></item><item><title><![CDATA[C++ 容器 string类]]></title><link>https://blog.youkuaiyun.com/Little_XWB/article/details/108018758</link><guid>https://blog.youkuaiyun.com/Little_XWB/article/details/108018758</guid><author>Little_XWB</author><pubDate>Sat, 15 Aug 2020 15:02:57 +0800</pubDate><description><![CDATA[C++ 容器 string类
一、string类的构造函数
1  默认构造       string     s1;
2  拷贝构造       string     s2(s1);
3  有参构造       string     s3(“aaa”);
4  两个参数有参构造    string   s4(3,‘c’);
// string类的构造函数
    string s1;       //默认构造
	string s2(s1);   //拷贝构造
	string s3("aaa");    //]]></description><category></category></item></channel></rss>