<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[whutmessi的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/whutmessi</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; whutmessi]]></copyright><item><title><![CDATA[《操作系统》——进程管理]]></title><link>https://blog.youkuaiyun.com/whutmessi/article/details/118085343</link><guid>https://blog.youkuaiyun.com/whutmessi/article/details/118085343</guid><author>whutmessi</author><pubDate>Sat, 26 Jun 2021 12:50:50 +0800</pubDate><description><![CDATA[第一部分：进程和线程
1.1进程描述
1）进程定义：一个具有一定独立功能的程序在一个数据集合上的一次动态执行过程


将一个文件系统中静态的程序，通过操作系统，在内存中让 CPU 执行起来形成一个动态的执行过程
2）进程的组成
一个进程应该包括正在运行的一个程序的所有格状态信息：
程序的代码
程序处理的数据
程序计数器中的值，指向下一条将运行的指令
一组通用的寄存器的当前值，堆、栈
一组系统资源（如打开的文件）
问：进程与程序的联系？
程序是产生进程的基础，进程执行的所有功能在程序中都有相应描述
程序每次的]]></description><category></category></item><item><title><![CDATA[《操作系统》——内存管理]]></title><link>https://blog.youkuaiyun.com/whutmessi/article/details/118025768</link><guid>https://blog.youkuaiyun.com/whutmessi/article/details/118025768</guid><author>whutmessi</author><pubDate>Sat, 19 Jun 2021 19:09:21 +0800</pubDate><description><![CDATA[前言：
之前有粗略的学过一遍操作系统，但是很多细节都有所忘记了，这一次通过观看b站上清华大学的操作系统课程为主，之前看过的哈工大的操作系统课程为辅，再结合书本和微信公众号上的好文章进行总结
观看顺序与课程的顺序相同，即内存管理-&gt;进程管理-&gt;文件系统管理-&gt;输入输出设备管理
第一部分：连续式内存分配
1.1计算机体系结构及内存分层体系
1）计算机体系结构

2）内存分层体系


这两张图很好的显式了内存的分层及内存的结构
3）操作系统在内存管理中要完成的目标


抽象：由于操作系统的存在希]]></description><category></category></item><item><title><![CDATA[《C++Primer》第十六章——模板与泛型编程]]></title><link>https://blog.youkuaiyun.com/whutmessi/article/details/116953017</link><guid>https://blog.youkuaiyun.com/whutmessi/article/details/116953017</guid><author>whutmessi</author><pubDate>Fri, 21 May 2021 16:32:09 +0800</pubDate><description><![CDATA[第十六章：模板与泛型编程

面向对象编程（OOP）和泛型编程都能处理在编写程序时不知道类型的情况，但不同的是OOP能处理类型在程序运行前都未知的情况，而在泛型编程中，在编译时就能获知类型了
模板是C++中泛型编程的基础

16.1 定义模板
1.函数模板
2.类模板
3.模板参数
4.成员模板
5.控制实例化
6.效率与灵活性
16.2 模板实参推断
16.3 重载与模板
16.4 可变参数模板
16.5 模板特例化

...]]></description><category></category></item><item><title><![CDATA[《C++Primer》第十五章——面向对象程序设计]]></title><link>https://blog.youkuaiyun.com/whutmessi/article/details/116807003</link><guid>https://blog.youkuaiyun.com/whutmessi/article/details/116807003</guid><author>whutmessi</author><pubDate>Mon, 17 May 2021 15:34:03 +0800</pubDate><description><![CDATA[第十五章：面向对象程序设计
15.1 OOP：概述
1.面向对象程序设计（object-oriented programming）

核心思想是数据抽象、继承、动态绑定
通过使用数据抽象，可以将类的接口与实现分离
通过使用继承，可以定义相似的类型并对其相似关系建模
通过使用动态绑定，可以在一定程度上忽略相似类的区别，而以统一的方式使用它们的对象
2.继承

15.2 定义基类和派生类
15.3 虚函数
15.4 抽象基类
15.5 访问控制与继承
15.6 继承中的类作用域
15.7 继承中的类作用域
15]]></description><category></category></item><item><title><![CDATA[《C++Primer》第十四章——重载运算与类型转换]]></title><link>https://blog.youkuaiyun.com/whutmessi/article/details/116766557</link><guid>https://blog.youkuaiyun.com/whutmessi/article/details/116766557</guid><author>whutmessi</author><pubDate>Fri, 14 May 2021 21:30:11 +0800</pubDate><description><![CDATA[第十四章：重载运算与类型转换
14.1 基本概念
14.2 输入和输出运算符
14.3 算术和关系运算符
14.4 赋值运算符
14.5 下标运算符
14.6 成员访问运算符
14.7 成员访问运算符
14.8 函数调用运算符
14.9 重载、类型转换与运算符

...]]></description><category></category></item><item><title><![CDATA[《C++Primer》第十三章——拷贝控制]]></title><link>https://blog.youkuaiyun.com/whutmessi/article/details/116560040</link><guid>https://blog.youkuaiyun.com/whutmessi/article/details/116560040</guid><author>whutmessi</author><pubDate>Thu, 13 May 2021 20:23:14 +0800</pubDate><description><![CDATA[第十三章：拷贝控制
一个类通过定义五种特殊的成员函数来控制此类型对象拷贝、移动、赋值和销毁时做什么
包括：拷贝构造函数、拷贝赋值运算符、移动构造函数、移动赋值运算符和析构函数
拷贝和移动构造函数定义了同类型的另一个对象初始化本对象时做什么
拷贝和移动赋值运算符定义了一个对象赋予同类型的另一个对象时做什么
析构函数定义了当此类型对象销毁时做什么
以上这些操作称为拷贝控制操作
如果我们不显示的定义这些操作，编译器会为我们定义，但编译器定义的版本的行为可能并非我们所想
13.1 拷贝、赋值与销毁
1.拷贝构造函数]]></description><category></category></item><item><title><![CDATA[《C++Primer》第十二章——动态内存]]></title><link>https://blog.youkuaiyun.com/whutmessi/article/details/116459322</link><guid>https://blog.youkuaiyun.com/whutmessi/article/details/116459322</guid><author>whutmessi</author><pubDate>Fri, 07 May 2021 16:57:35 +0800</pubDate><description><![CDATA[第十二章：动态内存
静态内存区（全局区）：保存局部 static 对象、类 static 数据成员以及定义在任何函数之外的变量，分配在静态内存的对象由编译器自动创建和销毁，static 对象在使用之前分配，在程序结束时销毁
栈内存区：用来保存定义在函数内的非 static 对象，分配在栈内存的对象由编译器自动创建和销毁，对于栈对象，仅在其定义的程序块运行时才存在
堆内存区：程序用堆来存储动态分配的对象——即那些在程序运行时分配的对象，动态对象的生存期由程序来控制，当动态对象不再使用时，我们的代码必须显式地销]]></description><category></category></item><item><title><![CDATA[《C++Primer》第十一章——关联容器]]></title><link>https://blog.youkuaiyun.com/whutmessi/article/details/116426191</link><guid>https://blog.youkuaiyun.com/whutmessi/article/details/116426191</guid><author>whutmessi</author><pubDate>Wed, 05 May 2021 21:50:49 +0800</pubDate><description><![CDATA[第十一章：关联容器
顺序容器中的元素是按它们在容器中的位置来顺序保存和访问的
与之相对，关联容器中的元素是按关键字来保存和访问的
关联容器支持高校的关键字查找和访问，两个主要的关联容器分别为 map 和 set
map：map 中的元素是一些关键字-值对，关键字起到索引的作用，值则表示与索引相关联的数据
set：set 中只每个元素只包含一个关键字，set 支持高效的关键字查询操作
标准库提供了8个关联容器，这8个容器间的不同体现在三个维度上：
1）或者是一个 set，或者是一个 map
2）或者要求不重复]]></description><category></category></item><item><title><![CDATA[《C++Primer》第十章——泛型算法]]></title><link>https://blog.youkuaiyun.com/whutmessi/article/details/116397787</link><guid>https://blog.youkuaiyun.com/whutmessi/article/details/116397787</guid><author>whutmessi</author><pubDate>Wed, 05 May 2021 15:08:00 +0800</pubDate><description><![CDATA[第十章：泛型算法
泛型：这些算法是通用的，它们可以用于不同类型的容器和不同类型的元素
算法：因为其实现了一些经典算法的公共接口，如排序和搜索
10.1 概述
1.大多数算法都定义在头文件 algorithm 中；标准库还在头文件 numeric 中定义了一组数值泛型算法
2.一般情况下，算法不直接操作容器，而是遍历由两个指定的一个元素范围了进行操作，通常情况下，算法遍历范围，对其中每个元素进行一些处理
int val = 42;
//如果在vec中找到想要的元素，则返回结果指向它，否则返回结果为vec.ce]]></description><category></category></item><item><title><![CDATA[《C++Primer》第九章——顺序容器]]></title><link>https://blog.youkuaiyun.com/whutmessi/article/details/116374333</link><guid>https://blog.youkuaiyun.com/whutmessi/article/details/116374333</guid><author>whutmessi</author><pubDate>Tue, 04 May 2021 10:25:33 +0800</pubDate><description><![CDATA[第九章：顺序容器
9.1 顺序容器概述
1.顺序容器类型
1）vector：可变大小数组

支持快速随机访问，在尾部之外的位置插入或删除元素可能很慢
2）deque：双端队列
支持快速随机访问，在头尾位置插入/删除速度很快
3）list：双向链表
只支持双向顺序访问，在 list 中任何位置进行插入/删除操作速度都很快
4）forword_list：单向链表
只支持单向顺序访问，在链表任何位置进行插入/删除操作速度都很快
新C++标准增加的类型，设计目标是达到与最好的手写的单向链表数据结构相当的性能，因此没]]></description><category></category></item><item><title><![CDATA[《C++Primer》第八章——IO库]]></title><link>https://blog.youkuaiyun.com/whutmessi/article/details/116070766</link><guid>https://blog.youkuaiyun.com/whutmessi/article/details/116070766</guid><author>whutmessi</author><pubDate>Sun, 02 May 2021 22:44:51 +0800</pubDate><description><![CDATA[第八章：IO库
C++语言通过一族定义在标准库中的类型来处理IO，这些类型支持从设备读取数据、向设备写入数据的 IO 操作，设备可以是文件、控制台窗口等，还有一些类型允许内存 IO，即从 string 读取数据，向 string 写入数据
8.1 IO类
1.IO对象无拷贝或赋值
ofstream out1， out2;
out1 = out2;		//错误，不能对流对象赋值
ofstream print(ofstream);	//错误，不能初始化ofstream参数
out2 = print(out2)	]]></description><category></category></item><item><title><![CDATA[《C++Primer》第七章——类]]></title><link>https://blog.youkuaiyun.com/whutmessi/article/details/116010915</link><guid>https://blog.youkuaiyun.com/whutmessi/article/details/116010915</guid><author>whutmessi</author><pubDate>Fri, 23 Apr 2021 20:39:56 +0800</pubDate><description><![CDATA[第七章：类
类的基本思想是数据抽象和封装
数据抽象是一种依赖于接口和实现分离的编程技术
类的实现包括类的数据成员、负责接口实现的函数体以及定义类所需的各种私有函数
7.1 定义抽象数据类型
1.类的所有成员都必须在类的内部声明，但是成员函数体可以定义在类的内部也可以定义在类外
2.this
1）this形参是隐式定义的，因此任何自定义名为 this 的参数或变量的行为都是违法的
2）可以在成员函数体内部使用 this
3）this 总是指向“这个”对象，保存对象的地址，任何对类成员的直接访问都被看作 thi]]></description><category></category></item><item><title><![CDATA[《C++Primer》第六章——函数]]></title><link>https://blog.youkuaiyun.com/whutmessi/article/details/115900958</link><guid>https://blog.youkuaiyun.com/whutmessi/article/details/115900958</guid><author>whutmessi</author><pubDate>Thu, 22 Apr 2021 13:27:40 +0800</pubDate><description><![CDATA[第六章：函数
6.1 函数基础
1.典型的函数定义包括：返回类型、函数名字、由0个或多个形参组成的列表、函数体，一共四个部分
2.函数是一个命名了的代码块，通过调用函数执行相应的代码，调用运算符的形式是一对圆括号，作用一个表达式，该表达式是函数或指向函数的指针，圆括号之内是一个用逗号隔开的实参列表，通过实参初始化函数的形参
3.
6.2 参数传递
6.3 返回类型和 return 语句
6.4 函数重载
6.5 特殊用途语言特性
6.6 函数匹配
6.7 函数指针

...]]></description><category></category></item><item><title><![CDATA[《C++Primer》第五章——语句]]></title><link>https://blog.youkuaiyun.com/whutmessi/article/details/115770923</link><guid>https://blog.youkuaiyun.com/whutmessi/article/details/115770923</guid><author>whutmessi</author><pubDate>Tue, 20 Apr 2021 10:56:40 +0800</pubDate><description><![CDATA[第五章：语句
5.1 简单语句
1.复合语句（块）：是指用花括号括起来的语句和声明的序列，复合语句也被称作为块，一个块就是一个作用域，在块中引入的名字只能在块内部以及嵌套在块中的子块里访问，名字在有限的区域内可见，该区域从名字定义处开始，到名字所在的块的结尾为止。
注：块不以分好作为结束
5.2 语句作用域
1.可以在
5.3 条件语句
5.4 迭代语句
5.5 跳转语句
5.6 try语句块和异常处理

...]]></description><category></category></item><item><title><![CDATA[《C++Primer》第四章——表达式]]></title><link>https://blog.youkuaiyun.com/whutmessi/article/details/115749517</link><guid>https://blog.youkuaiyun.com/whutmessi/article/details/115749517</guid><author>whutmessi</author><pubDate>Fri, 16 Apr 2021 16:52:00 +0800</pubDate><description><![CDATA[第四章：表达式
4.1 基础
1.表达式：由一个或多个运算对象组成，对表达式求值将得到一个结果，字面值和变量是最简单的表达式，讲一个运算符和一个或多个运算对象组合起来可以生成较为复杂的表达式。
2.左值和右值：当对象被用作左值的时候，用的是对象的身份（在内存中的位置）；
当一个对象被用作右值时，用的是对象的值（内容）
使用关键字 decltype 时，左值和右值也有所不同，若表达式求值结果为左值，decltype 作用于该表达式得到一个引用类型。
int *p;
//解引用运算符生成左值，所以得到的结果为 ]]></description><category></category></item><item><title><![CDATA[《C++Primer》第三章——字符串、向量和数组]]></title><link>https://blog.youkuaiyun.com/whutmessi/article/details/115717018</link><guid>https://blog.youkuaiyun.com/whutmessi/article/details/115717018</guid><author>whutmessi</author><pubDate>Thu, 15 Apr 2021 17:26:56 +0800</pubDate><description><![CDATA[第三章：字符串、向量和数组
3.1 命名空间的using声明
1.using声明：通过简单的途径也能使用到命名空间中的成员，有了using声明就无需专门的前缀(形如命名空间::)也能使用所需的名字。
格式：using namespace::name;
using std::cin;
//每个需要用到的名字都必须有自己的声明语句，且每句话都以分号结束
using std::cout; using std::endl;

注：位于头文件中的代码一般不应使用using声明，因为头文件的内容会拷贝到所有引用它的文件]]></description><category></category></item><item><title><![CDATA[《C++Primer》第二章——变量和基本类型]]></title><link>https://blog.youkuaiyun.com/whutmessi/article/details/114708105</link><guid>https://blog.youkuaiyun.com/whutmessi/article/details/114708105</guid><author>whutmessi</author><pubDate>Wed, 14 Apr 2021 21:52:50 +0800</pubDate><description><![CDATA[前言：上学期大致浏览过一遍《c++ primer》这本书，确实很厚，对c++有了一个大致的概念后，这学期打算将c++primer和effective c++结合者一起看，通过边看边通过写博客的形式进行总结归纳，以便以后更好的复习和理解。
第二章：变量和基本类型
2.1 基本内置类型
1.切勿混用带符号类型和无符号类型，比如：当一个算数表达式中既有无符号数又有int值时，那个int值会被转换成无符号数
2.字面值常量：只有内置类型有字面值，类类型不存在字面值
1）整型和浮点型字面值：整型字面值具体数据类型由它]]></description><category></category></item><item><title><![CDATA[计算机网络第一章——概述]]></title><link>https://blog.youkuaiyun.com/whutmessi/article/details/113731162</link><guid>https://blog.youkuaiyun.com/whutmessi/article/details/113731162</guid><author>whutmessi</author><pubDate>Fri, 12 Mar 2021 21:10:34 +0800</pubDate><description><![CDATA[计算机网络第一章整理

]]></description><category></category></item></channel></rss>