自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 问答 (1)
  • 收藏
  • 关注

原创 《UNP》的零碎知识点总结

。套接字工作在应用层和传输层之间,套接字之上为用户进程,套接字之下4层是构成操作系统内核的一部分,上三层大部分关注网络应用的细节,下四层大部分关注通信细节 用于发现网络细节的两个基本命令,netstat和ipconfig 分组过滤器:用来截获和过滤一个被置为混杂模式的网络接口的分组 应用进程往一个UDP套接字写入一个消息,该消息随后被封装成一个UDP数据报,进而又被封装成一个IP...

2018-03-01 16:32:03 475

原创 《APUE》的零碎知识点总结

Unix为每个系统调用在标准C库中设置一个具有相同名字的函数,用户进程用标准C调用序列来调用这些函数,然后,函数又调用对应的系统调用来获取相应的内核服务,库函数可以被替换,但系统调用不行。 对于内核而言,所有打开的文件都通过文件描述符引用,标准输入与文件描述符0关联,标准输出与文件描述符1关联,标准错误与文件描述符2关联 文件IO常用函数:open, read, write, lsee...

2018-03-01 16:31:04 407

原创 《TCP/IP详解 卷一》的零碎知识点总结

TCP/TP概述分组—面向连接 数据报—无链接消息边界是两次写入之间的位置或字节便移量,举个例子,TCP协议是面向流的无消息边界,假设接收端有3个来自发送端的分组,但是3个总大小都小于接收端的接收缓冲区大小,则接收端可以将3个分组一起从缓冲区读出来;UDP是面向数据报的有消息边界,无论数据报有多大,接收端都需要为每个单独的数据报执行接收动作 编号 名称 描...

2018-03-01 16:30:04 1029

原创 CSAPP的零碎知识点总结

CSAPP从源代码到可执行程序的步骤C预处理器将.c文件翻译成.i文件(ASCII码) 处理所有#define,#include等带井号的预编译符号,删除注释(除了#pragma编译器指令),添加行号和文件标示符以便提示错误警告等C编译器将.i文件翻译成一个.s文件(汇编) 词法分析,语法分析,语义分析,源代码优化,目标代码生成,目标代码优化 汇编器将.s文件翻译成.o文...

2018-03-01 16:28:39 1139

原创 opencv制作扫描软件

作品简介该程序是一款用于扫描图像的小工具 扫描是一种图像处理技术,生活中时常会用到扫描的技术,比如你获奖了,奖状到达学校第一时间是拿到学校扫描备案才会发给你,公司,印务店等也都会经常用到扫描工具,还有你扫二维码时都会使用到扫描技术我们的最终目标就是将一个图片中我们需要的那部分独立扫描出来,就是扣图!!!要扫描图像我们肯定是想获取对我们有用的信息内容,然而图像中难免存在许许多多无关信息,甚至可能影响

2017-12-10 10:10:39 1158 1

原创 计算机网络---------对隧道技术的皮毛理解

本文甚至谈不上是浅谈隧道,而是个人对隧道的一种泛泛的理解,有时候太过于抽象的东西对我而言并不好吸收,我相信还有许多人像我这样,我希望当你看了本篇博客加上我对隧道技术的理解,可以让你在学习该内容时不会觉得无从下手 作为一个上计网课时全程没听课的萌新,现在真的是后悔莫及啊,在这提醒各位以后想搞技术的朋友,计网课一定要认真听,不然就会像我一样,现在后悔了来补TCP/IP,看每一页都是懵壁状态,昨天看到隧

2017-10-18 20:48:39 4342 2

转载 通信协议中的RTS与CTS

RTS/CTS协议即请求发送/允许发送协议,相当于一种握手协议,主要用来解决”隐藏终端”问题。”隐藏终端”(Hidden Stations)是指,基站A向基站B发送信息,基站C未侦测到A也向B发送,故A和C同时将信号发送至B,引起信号冲突,最终导致发送至B的信号都丢失了。”隐藏终端”多发生在大型单元中(一般在室外环境),这将带来效率损失,并且需要错误恢复机制。当需要传送大容量文件时,尤其需要杜绝”隐

2017-10-15 11:26:24 5211

原创 生成树协议(STP)详解

生成树协议(STP) TCP/IP

2017-10-11 14:45:40 10172

原创 C++ primer 阅读笔记------------类

该博客用于记录自己在阅读过程中不懂的知识点,很少用到但比较重要的知识点以及模棱两可的知识点一个类每个对象都有自己独立的存储空间存放各自的数据成员,然而成员函数的代码段在内存中只有一份,所以为了保证每个对象访问成员函数时针对的都是自己的数据成员,所有便有了this指针,每个成员函数都有一个隐式形参T*const this(指向非常量版本的常量指针),它的值指向当前正在调用它的对象的起始地址,所以成员函

2017-09-26 08:43:16 380

原创 C++primer阅读笔记---------特殊工具与技术

声明了noexcept,但函数体中又定义了throw抛出异常,在大多数编译器下,这种操作会顺利通过,但遇到这种情况编译器会在异常抛出后立即调用terminate以保证不违反noexcept的承诺标准库分别定义了四个operator new和operator delete的重载版本,用户可以在全局和类中自定义,当自定义的版本在类中的时侯new和delete必须是静态的(隐式静态),且不能操作

2017-09-04 19:28:45 235

原创 C++primer阅读笔记------------用于大型程序的工具

异常处理通过一步步寻找匹配的catch字句,于该try块关联的catch语句如果没有匹配的,则寻找外层的try块,如果最外层也找不到,则退出当前函数继续寻找,直到退出主函数,程序调用标准库函数terminate终止程序的执行,这个过程称为栈展开使用类来控制资源的分配可以确保资源在发生异常后也能正常释放掉,异常抛出的代码块中,对象会被析构,称之为堆栈反解,有个例外时,当构造函数出现异常时,成

2017-09-04 10:37:40 205

转载 深入理解C++中的异常处理机制

原文链接:http://developer.51cto.com/art/201512/502598.htm#topx异常处理增强错误恢复能力是提高代码健壮性的最有力的途径之一,C语言中采用的错误处理方法被认为是紧耦合的,函数的使用者必须在非常靠近函数调用的地方编 写错误处理代码,这样会使得其变得笨拙和难以使用。C++中引入了异常处理机制,这是C++的主要特征之一,是考虑问题

2017-09-03 16:25:27 360

原创 C++primer阅读笔记---------标准库特殊设施

该博客用于记录自己在阅读过程中不懂的知识点,很少用到但比较重要的知识点以及模棱两可的知识点tuple的构造函数是explicit的所以必须使用直接初始化tuple t = {1, 2, 3} //错误tuple t{1, 2, 3}; //正确类似make_pair,make_tuple返回一个tuple对象auto item = make_tuple(1, 2,

2017-09-03 13:56:39 203

原创 C++primer阅读笔记----------模板与泛型编程

该博客用于记录自己在阅读过程中不懂的知识点,很少用到但比较重要的知识点以及模棱两可的知识点在模板参数列表中class和typename含义相同绑定到指针或引用非类型参数的实参必须具有静态生存期编写泛型代码的两个重要原则:模板中的函数参数是const的引用(保证了可以传递一些不能拷贝的类型,如流类型)函数体中的条件判断仅需要定义模板时编译器并不会生

2017-09-03 09:19:56 274

原创 C++primer阅读笔记---------------面向对象程序设计

该博客用于记录自己在阅读过程中不懂的知识点,很少用到但比较重要的知识点以及模棱两可的知识点对于某些函数基类希望派生类定义自己的版本,便将它声明成虚函数,在函数前加virtual,声明时加定义时不加在覆盖基类虚函数的函数后加上override关键字当使用引用或指针调用虚函数时,该调用将被动态绑定如果基类把一个函数声明为虚函数,则派生类中也会隐式的变为虚函数

2017-09-01 21:47:17 197

原创 C++primer阅读笔记-----------重载运算与类型转换

该博客用于记录自己在阅读过程中不懂的知识点,很少用到但比较重要的知识点以及模棱两可的知识点含有混合类型的对称性运算符的重载一般定义为普通非成员函数strings1 = s + “aa”; //正确strings1 = “aa” +s; //如果operator+是成员函数则错误,因为此时等价于“aa”.operator+(s)输入输出符必须是非成员函

2017-08-31 19:55:41 194

原创 C++primer阅读笔记----------拷贝控制

该博客用于记录自己在阅读过程中不懂的知识点,很少用到但比较重要的知识点以及模棱两可的知识点为了很好的操作类,我们通过定义5种特殊的成员函数来完成(拷贝控制操作):拷贝构造函数拷贝赋值运算符移动构造函数移动构造运算符析构函数拷贝构造函数第一个参数必须是一个引用类型(且几乎都是const),且额外的参数必须有默认值拷贝构造函数在多种情况下都会被隐式的引用,所

2017-08-30 21:58:31 236

原创 C++primer 阅读笔记---------------动态内存

该博客用于记录自己在阅读过程中不懂的知识点,很少用到但比较重要的知识点以及模棱两可的知识点函数外的对象以及static对象, 类的static数据成员存储在静态内存,使用之前分配,程序结束销毁,栈内存用于保存函数内的非static变量,仅在该内存块存在,而动态分配的对象则存储在堆中为了内存的安全,新的标准库提供类两种智能指针,shared_ptr允许多个指针指向同一个对象,

2017-08-20 20:32:47 252

原创 C++ primer阅读笔记---------------关联容器

关联容器按照map/set, 有序无序(unordered), 是否重复(multi)分为8种,分别是map set multimap //可重复multiset unordered_map //无需,哈希unordered_setunordered_multimapunordered_multisetmap通常称为关联数组,其下标不用是整数,下标是map的

2017-08-20 14:19:30 204

原创 C++primer阅读笔记---------泛型算法

该博客用于记录自己在阅读过程中不懂的知识点,很少用到但比较重要的知识点以及模棱两可的知识点为什么要叫泛型算法,因为它们实现类一些经典算法的公共接口,并且适用于多种不同类型的元素和多种容器,因为它们是作用在迭代器上的,本身不会执行容器操作标准库算法---find    find(vec.cbegin(), vec.cend(), val)     //查找vec中val的

2017-08-19 14:45:46 237

原创 C++prime阅读笔记---------------顺序容器

该博客用于记录自己在阅读过程中不懂的知识点,很少用到但比较重要的知识点以及模棱两可的知识点顺序容器类型:vector //可变大小数组,快速随机访问,尾部以外的地方插入 删除可能会很慢deque //双端队列,快速随机访问,头尾插入删除很快list //双向链表,只支持双向顺序访问,任何位置插入删除 都很快forward_list //单向链表,只支持单向顺序访问,

2017-08-18 10:09:21 222

原创 C++ primer阅读笔记---------------IO

该博客用于记录自己在阅读过程中不懂的知识点,很少用到但比较重要的知识点以及模棱两可的知识点IO库条件状态。使用流之前应检查其状态数据的读写会用到一个叫缓冲区的东西,当你打印一个字符串时,有可能会立即打印也有可能会写进缓冲区,随后再打印,缓冲区刷新(即数据真正的写入文件或者输出设备)的原因:     程序正常结束时,mian函数的return。    缓冲区满  

2017-08-16 16:30:13 179

原创 C++ primer阅读笔记----------------函数

该博客用于记录自己在阅读过程中不懂的知识点,很少用到但比较重要的知识点以及模棱两可的知识点只存在与函数执行期间打对象叫自动对象,与之对应的是局部静态对象传参时可以只用引用避免拷贝,拷贝大的对象效率低而且有些类类型不支持拷贝,使用引用还可以返回额外信息实参初始化形参时会忽略顶层const,这就意味着voidfunc(const int i)和 voidfu

2017-08-08 19:38:50 203

原创 C++primer 阅读笔记----------语句

该博客用于记录自己在阅读过程中不懂的知识点,很少用到但比较重要的知识点以及模棱两可的知识点for语句头中能定义多个对象,但只能有一条声明语句,所以所有对象类型相同。标准异常:exception头文件中定义了最通用的异常类exception。只报告异常的发生stdexcept头文件中包含量以下异常类:exception最常见的问题runtime_error

2017-08-02 16:54:45 291

原创 C++ primer阅读笔记----------表达式

该博客用于记录自己在阅读过程中不懂的知识点,很少用到但比较重要的知识点以及模棱两可的知识点赋值运算符满足右结合律移位运算符满足左结合律sizeofp; //指针所占空间大小sizeof*p;//指针所指对象类型所占空间大小sizeof返回一个常量表达式(可以用来声明数组维度)隐式转换宏观理解:隐式转换往更宽或更大的类型转换,赋值运算右边的

2017-08-02 16:28:59 222

原创 C++ primer阅读笔记------------字符串,向量和数组

该博客用于记录自己在阅读过程中不懂的知识点,很少用到但比较重要的知识点以及模棱两可的知识点string.size() /length()返回值类型为size_type 不是int(用auto类型来承载,无符号整型数)string 比较运算符实际上是比较第一个相异的字符多个字符串相加其中一个必须是string(不能两个都为字面值),连续相加与连续输入输出有相似之处对每个字

2017-08-01 20:28:15 241

原创 C++ primer 阅读笔记------------变量

该博客用于记录自己在阅读过程中不懂的知识点,很少用到但比较重要的知识点以及模棱两可的知识点extern int j;  //声明 j(未定义)int j;           //声明并定义不能在函数体内部初始化一个extern标记的变量多文件使用同一变量应在一个文件中定义多个文件中声明不能把int型变量直接赋给指针变量引用不是变量所以不存在引用的引用v

2017-08-01 12:38:54 183

原创 计蒜客竞赛基础,最近点对问题

#include #include #include #include #define INF 100002using namespace std;struct point { double x; double y;};point p[100002];point p1[100002];point p2[100002];//point flagp[6];bool cm

2017-01-21 14:59:27 267

原创 扩展欧几里得

#include long long int gcd( long long int x, long long int y ){ if( y== 0 ) { return x; } return gcd( y, x% y );} void exgcd( long long int a, long long int b, long long

2016-11-21 09:41:33 338

原创 树状数组

#include #include #include using namespace std; int c[32001]; int a[15010]; int lowbit(int x){ return x&(-x); } void modify(int i){ while(i<=32001){ c[i]++;

2016-11-21 09:39:35 226

原创 hdu1285拓扑排序

#include #include #include using namespace std;int N, M, a, b, num;bool map[510][510];int temp[510], ans[510];int main(){ while(scanf("%d %d", &N, &M)!= EOF){ memset(temp, 0, sizeof(temp));

2016-11-21 09:34:06 195

原创 hdu1232 并查集

#includeint f[1001];int m, n, a[2], i, num;int getf(int n){ if(f[n]==n){ return n; }else{ f[n]=getf(f[n]); return f[n]; }}void merge(int x, int y){ int t1,

2016-11-21 08:42:00 235

原创 KMP hdu2203

#include#includeint next[100010];char son[100010], fat[300010], flag[100010];void getnext(){ int q, k; int m = strlen(son); next[0] = 0; for(q = 1, k = 0; q < m; q++){ while(k > 0 && son[q]

2016-11-21 08:40:05 219

原创 KMP hdu2594

#include#include#include using namespace std; char s1[100010],s2[50001]; int to[100010]; void getnext(char *a){ int i=-1,j=0,len=strlen(a); to[0]=-1; while(j<len){

2016-11-21 08:17:36 276

原创 51nod1459 dijkstra

#include #include #include using namespace std;int map[501][501], dis[501], value[501], maxval[501];bool book[501];int n, m, start, end, a, b, len;void dij(){ for(int i = 0; i < n; i++){ di

2016-11-20 19:47:54 272

原创 bfs hdu1372

#include #include #include #include using namespace std;int to[8][2]={-2,1, -1,2, 1,2, 2,1, 2,-1, 1,-2, -1,-2, -2,-1};char a[3], b[3];bool book[10][10], flag;typedef struct node{ int x; int

2016-11-20 18:50:56 190

原创 bfs

#include #include #include #include using namespace std;typedef struct node{ int x; int step;}Node;int N, A, B;bool book[201], flag;int map[201];int main(){ Node down, up, now; while(s

2016-11-20 17:55:18 183

原创 hdu1010 dfs+剪枝

剪枝很巧妙的,对于下标相加为奇数的点不能在偶数步走到下标相加为偶数的点,依次类推#include #include #include #include using namespace std;char map[10][10];bool book[10][10];int to[4][2] = {{0, -1}, {-1, 0}, {0, 1}, {1, 0}};int star

2016-11-20 15:40:16 244

原创 poj1979 dfs水题

#include #include #include using namespace std;char map[21][21];bool book[21][21];int M, N;int next[4][2] = {{0, -1}, {-1, 0}, {0, 1}, {1, 0}}; //左上右下 int ans;void dfs(int row, int col){ in

2016-11-20 11:13:47 355

空空如也

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

TA关注的人

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