自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

苞米地里捉小鸡的博客

这是个程序弱鸡的博客,说的都是屁话

  • 博客(29)
  • 资源 (1)
  • 收藏
  • 关注

原创 C++ Primer问题总结(11)

#include<iostream>#include<vector>#include<memory>using namespace std;template <typename T> class BlobPtr;template <typename T> class Blob;template <typename T&...

2020-02-29 17:24:36 135

原创 类-类型成员

1.什么是类的类型成员比如string::size_type就是string类中的某一个类型成员,是类自定义的某种类型在类中的别名。2.类型成员的定义方法1.类型成员与其他成员一样存在访问限制,即可用private和public进行修饰。2.定义类型成员可以使用typedef和using关键字。class Screen {public: typedef std::string...

2020-02-29 16:37:31 765

原创 decltype总结

decltype和auto都可以用来推断类型,但是二者有几处明显的差异:auto忽略顶层const,decltype保留顶层const;对引用操作,auto推断出原有类型,decltype推断出引用;对解引用操作,auto推断出原有类型,decltype推断出引用;auto推断时会实际执行,decltype不会执行,只做分析。总之在使用中过程中和const、引用和指针结合时需要特别小心。...

2020-02-29 16:17:30 123

原创 C++ Primer问题总结(10)

1.第15章1.原来使用虚函数是在基类和派生类都将一个函数头前面加上virtual,现在c++11新标准允许派生类显式地注明它将使用哪个成员函数改写基类的虚函数,具体措施是在该函数的形参列表之后增加一个override关键字2.基类通常应该定义析构函数为虚的3.派生类不能直接访问基类的私有成员,但是可以访问受保护类成员练习15.3hppclass Quote{public: Qu...

2020-02-27 23:51:10 115

原创 C++ Primer问题总结(9)

1.第12章1.shared_ptr允许多个指针指向同一个对象,unique_ptr则独占所指向的对象,weak_ptr是一种弱引用,指向shared_ptr所管理的对象。这三种类型都定义在memory头文件中。2.智能指针p是一个类对象,他本身不是指针,它保存一个指针,p.get()返回一个指向某个类型的指针3.// 指向一个值为 42的int 的shared_ ptrshared p...

2020-02-26 01:07:12 124

原创 C++ Primer问题总结(8)

1.第14章14.2friend ostram & Sales_data::operator>>(ostream &os,Sales_data &Sd);friend istream & Sales_data::operator<<(istream &is,Sales_data &Sd);Sales_data&...

2020-02-24 23:26:42 141

原创 C++ Primer问题总结(7)

10.3int main(){ vector<string>v{ "Hello","World" }; auto sum = accumulate(v.begin(), v.end(), string{ "Tim Wu" }); cout << sum << endl;}int main(){ int v1 = 42; auto f ...

2020-02-22 22:52:18 209

原创 C++ Primer问题总结(6)

第9章9.2/*9.2*/ deque<int>a = { 1,2,3 }; deque<int>b(a.begin(),a.end()); list<deque<int>> l; l.insert(l.begin(),10, a); for (auto i : l) { for (auto a : i) cout <...

2020-02-21 01:14:27 221

原创 C++ Primer问题总结(5)

1.第7章1.定义在类内部的防守是隐式的inline函数。2.在成员函数内部,我们可以直接使用调用该函数的对象的成员,而无需通过成员访问运算符来做到这一点,因为this所指的正是这个对象。this -> bookNo3.this指针不能指向一个常量成员,这是因为this指针是一个常量指针(顶层const),这意味着它只能指向对象的地址而可以通过它改变对象的值,而将一个常量传给它,会出现...

2020-02-19 22:54:31 90

原创 C++ Primer问题总结(4)

1.第6章1.实参是形参的初始值2.引用形参是它对应的实参的别名,对引用形参进行的操作相当于在原有的实参上进行,如果不是引用那么会将实参的值拷贝后赋值给形参,这样形参和实参是两个相互独立的对象,这样被称为按值传递参数实参。3.用实参初始化形参时会忽略掉顶层const。4.可以使用非常量初始化一个底层const对象,但是反过来不行;同时一个普通的引用必须用类型的对象初始化。5.参数传递u...

2020-02-19 04:27:33 141 1

原创 C++ Primer问题总结(3)

1.第4章1.bool类型不应该参与计算 比如:bool b = true;bool b2 = -b;这个时候b2仍然为true,这是因为bool类型在参与运算的时候,编译器会自动将其提升为int类型,true为1 ,-b为-1.仍然非零,所以b2仍然非非零,所以转换成布尔值后b2的值为真。2.定义的时候给等号=表示初始化,而不是定义的时候给等号=表示赋值比如:int i = 2;...

2020-02-18 17:32:10 210

原创 C++ Primer问题总结(2)

1.第3章1.要学会使用直接初始化string s1("hiya"); 以前都是用的拷贝初始化string s2 = string(10,'c');这非常不理想,可读性较差,也不简洁2.用getline读取一整行的时候是将换行符读进了流中的,但是不会读入要写入的对象或者文件中的,这是因为触发getline函数返回的那个换行符实际上被丢弃了。3.字面值不能直接相加比如:stri...

2020-02-18 01:07:30 132

原创 C++ Primer问题总结(1)

1.第一章1.包含来自标准库的头文件,应该用<>,对于不属于标准库的头文件,比如自己创建的头文件则使用" .h"。2.成员函数(menber function)是定义为类的一部分的函数,有时也被称为方法(method).3.cerr:一个ostream对象,关联到标准错误,通常写入到与标准输出相同的设备。默认情况下,写到cerr的数据是不缓冲的。cerr通常用于输出错误信息或其他...

2020-02-17 17:31:14 243 1

原创 深入解析new、全局和局部operator new、::new、placement new

1. new分为两步a、内存分配    调用相应的operator new( )分配内存  b、构造函数    调用相应的构造函数实验代码:class T{ public: T(){ cout << "构造函数。" << endl; } ~T(){ cout << "析...

2020-02-17 10:33:31 1273

转载 TCP/IP详解学习笔记(3)-IP协议,ARP协议,RARP协议

把这三个协议放到一起学习是因为这三个协议处于同一层,ARP协议用来找到目标主机的Ethernet网卡Mac地址,IP则承载要发送的消息。数据链路层可以从ARP得到数据的传送信息,而从IP得到要传输的数据信息。1.IP协议IP协议是TCP/IP协议的核心,所有的TCP,UDP,IMCP,IGCP的数据都以IP数据格式传输。要注意的是,IP不是可靠的协议,这是说,IP协议没有提供一种数据未传达以后...

2020-02-16 20:55:50 104

原创 for_each()函数、临时对象的产生与()运算符重载的意义

所谓临时对象,就是一种无名对象(unamed objects),有时候使用临时对象可以使程序干净清爽,比如可以在类型名称之后直接加一对小括号,并可指定初值,例如shape(3,5)或者int(8),其意义相当于调用相应的constructor并且不指定对象名称。for_each()是一种STL函数,存在于algorithm库中,它可以用于很多容器内,for_each(iterator,itera...

2020-02-16 18:35:32 380 1

原创 非类型的模板参数

1.非类型的模板类形参对于函数模板与类模板,模板参数并不局限于类型或者适配器、指针(迭代器),普通值也可以作为模板参数。在基于类型参数的模板中,你定义了一些具体的细节来加以确定代码,直到代码被调用时这些细节才被真正的确定。但是在这里,我们面对的是这些细节是值,而不是类型,当要使用基于值的模板时,必须显式地指定这些值,才能够对模板进行实例化。比如可以这样:template<class T...

2020-02-16 13:50:07 826

转载 TCP/IP详解学习笔记(2)-链路层

数据链路层有三个目的:为IP模块发送和 接收IP数据报。为ARP模块发送ARP请求和接收ARP应答。为RARP发送RARP请 求和接收RARP应答ip大家都听说过。至于ARP和RARP,ARP叫做地址解析协议,是用IP地址换MAC地址的一种协议,而RARP则叫做逆地址解析协议,在tcp/ip协议的后面章节会介绍它们(在局域网里面用ARP协议可以很容易的搞瘫痪网络哦)数据链路层的协议还...

2020-02-15 22:55:27 111

转载 TCP/IP详解学习笔记(1)-基本概念

为什么会有TCP/IP协议在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别。就好像圣经中上帝打乱了各地人的口音,让他们无法合作一样。计算机使用者意识到,计算机只是单兵作战并不会发挥太大的作用。只有把它们联合起来,电脑才会发挥出它最大的潜力。于是人们就想方设法的用电线把电脑连接到了一起。但是简单的连到一起是远远不够的,就好像语言...

2020-02-15 22:47:43 75

原创 C++ Primer Plus 第18章 C++新标准

1.初始化1.可以使用大括号括起来的列表表示,可以添加等号也可不添加int x = {5};int *arr = new int[4]{2,4,6,7};2.动态分配内存也可以直接列表初始化,而不必循环赋值3.初始化类对象的时候也可以用大括号代替圆括号来调用构造函数但是,如果类有将模板std::initializer_list作为参数的构造函数,则只有该构造函数可以使用列表初始化形式...

2020-02-13 18:23:51 280

转载 私有成员变量的理解

私有成员变量的概念,在脑海中的现象是,以private关键字声明,是类的实现部分,不对外公开,不能在对象外部访问对象的私有成员变量.然而,在实现拷贝构造函数和赋值符函数时,在函数里利用对象直接访问了私有成员变量,因而,产生了困惑.下面以具体实例进行说明:疑惑:为什么第26行和第32行代码可以编译通过,而第39行和第40行代码会产生编译错误class CTest {public: C...

2020-02-13 16:16:20 358

原创 C++ Primer Plus 第14章 虚基类和类模板等

1.成员对象的列表初始化和继承列表初始化的区别派生类对象的构造函数初始化,构造函数在成员初始化列表中使用基类类名来调用特定的基类构造函数V2(int &w,double &q):V1(w){} //v1是基类,这种情况初始化列表中是用基类名称而一个类中包含其他类对象作为成员的话,构造函数在成员初始化列表中使用成员名,比如Student(string &s,vala...

2020-02-12 12:00:14 632

原创 大话数据结构(十四) 排序

1.排序该章节一共讲解七种排序算法:1.冒泡排序2.简单选择排序3.直接插入排序4.希尔排序5.堆排序6.归并排序7.快速排序2.冒泡排序1.最简单排序代码/*最简单排序实现函数*/using namespace std;#define MAXSIZE 10typedef struct{ int r[MAXSIZE + 1]; int length;}SqLis...

2020-02-10 09:29:22 92

原创 大话数据结构(十三) 图的最短路径、拓扑排序和关键路径

图的最短路径就是两端点之间经过的边上权值最小的路径1.Dijkstra算法void ShortestPath_Dijkstra(Graph G, int v0, Patharc *P, ShortPathTable *D){ int v, w, k, min; int final1[MAXVEX]; //表示v-v0的最短路径是否成功存储 for (v = 0; v < G.nu...

2020-02-07 15:09:24 388

原创 大话数据结构(十二) 最小生成树的两种算法

1.Prim算法该算法的核心思想就是在图中所有的边权值列出来TE,再找一端固定(自己设定)U={u…}的点集合,另一端v不在点集合中的权值最小的边,然后将该边并入集合TE中,并且将v并入U集合中,重复该步骤直到所有的点都在U中,就完成一个最小生成树的构建。void MiniSpanTree_Prim(MGraph G){ int min, i, j, k; int adjvex[MAXV...

2020-02-06 23:05:57 152

原创 大话数据结构(十一)图Graph的遍历

1.深度优先遍历又称为深度优先搜索,简称为DFS。

2020-02-06 16:30:23 134

原创 大话数据结构(十)图Graph的相关程序实现

1.图的定义首先声明一下相关的函数声明`class Graph{public: CreateGraph(*G, V, VR); //按照顶点集合V和边VR的定义构造图G DestrotyGraph(*G); //删除一个图 LocateVex(G, u); //若图G中存在顶点u,则返回图中的位置 GetVex(G, v); //返回图G中顶点v的值 PutVex(G, v, v...

2020-02-05 01:12:59 911

原创 大话数据结构(九)树

1.树的定义树(Tree)是n(n≥0)个结点的有限集。n=0时称为空树。在任意一颗非空树中;(1)有且仅有一个特定的称为根(Root)的结点;(2)当n>1时,其余结点可分为m(m>0)个互不相关的有限集T1、T2、。。。Tm,其中每一个集合本身又是一棵树,并且称为根的子树(SubTree).2.双亲表示法#define MAX_TREE_SIZE 100typedef ...

2020-02-02 16:44:04 87

原创 大话数据结构(八) 串

1.串的含义串(string)是由零个或多个字符组成的有限序列,又名叫字符串。2.生成一个其值等于字符串常量chars的串Tstatic string StrAssign(string T_l , const char *chars); string String::StrAssign(string T_l, const char *chars){ T_l = chars; re...

2020-02-01 01:49:56 164

windows内核开发.pdf

windows内核驱动开发,原书的环境是Visual Studio 2005+Windows Vista,所以在编译的时候需要设置相应的SDK

2020-05-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除