- 博客(15)
- 收藏
- 关注
原创 C++ 智能指针
https://blog.csdn.net/u011616739/article/details/620521791 动态内存1,C++程序中所使用的对象都是有着严格定义的生存期。 全局对象:在程序启动时分配,程序结束时销毁。 局部对象:在进去其定义所在的程序块时被创建,在离开块时销毁。 局部static对象:在第一次使用前分配,在程序结束时销毁。 局部变量: 作用域:{}...
2019-10-10 18:24:24
586
原创 leetcode周赛题
题目如下:给定一个由不同整数组成的数组arr,找到具有任意两个元素的最小绝对差的所有元素对,并且以升序(相对于对内部而言)返回对列表,每对[a,b]跟随。a,b 来自arra < bb - a等于arr中任意两个元素的最小绝对差示例:输入:arr = [4 , 2, 1 ,3]输出:[[1,2],[2,3],[3,4]]约束:2 <= arr.length <=...
2019-09-22 23:25:09
259
原创 C++头文件相互引用 -- 未完待续...
头文件相互引用问题: A文件: #include "B" class A{ B b; }; B文件: #include "A" class B{ A a; };出错原因: A文件引用B的头文件,但是class B构造时A未定义。 B文件引用A的头文件,但是class A构造时B未定义。解决方法:前置声明 方法一: A文件: #incl...
2019-09-20 14:34:25
595
原创 自定义Git -- Git钩子
文章参考自:https://git-scm.com/book/zh/v2/%E8%87%AA%E5%AE%9A%E4%B9%89-Git-Git-%E9%92%A9%E5%AD%90自定义Git – Git钩子Git能在特定的重要动作发生时触发自定义脚本.客户端钩子:由诸如提交和合并这样的操作所调用。服务器钩子:诸如接收被推送的提交这样的联网操作。安装一个钩子:1,钩子都被存储在Git...
2019-09-19 20:10:24
763
原创 自定义Git 第二部分
文章参考自:https://git-scm.com/book/zh/v2/自定义-Git-Git-属性#rfilters_b自定义Git – Git属性基于路径的设置项被称为Git属性:注: 1,针对特定的路径配置某些设置项,Git就只针对特定的子目录或者子文件集运用它们。 2,Git目录下.gitattributes文件进行设置 3,设置属性文件不提交,在.git/info...
2019-09-18 23:11:26
122
原创 自定义Git
本文参考自:https://git-scm.com/book/zh/v2/%E8%87%AA%E5%AE%9A%E4%B9%89-Git-%E9%85%8D%E7%BD%AE-Git自定义Git8.1 配置Git Git使用一系列配置文件来保存自定义的行为。 1,/etc/gitconfig --system选项(git config...
2019-09-17 13:54:52
137
原创 浅析文件压缩(霍夫曼树实现) -- 未完待续...
当我学习完文件压缩后,决定自己动手去写,脑袋里一片懵逼,完全不知道该怎么下手。觉得很乱,很没有结构,不知道这个类和另一个类的关系,只知道他们是有关系的。我就决心一点点理清思路。首先可以很清晰的知道文件压缩和霍夫曼编码是有关系的。霍夫曼编码的思想:编码中的0和1出现的次数要均衡,也就是出现次数(概率)比较大的字符,选择编码的长度要短一点,出现次数(概率)比较小的字符,选择编码的长度可以长...
2019-09-17 13:49:37
184
原创 设计模式--策略模式
此篇文章参考自《大话设计模式》(程杰)上篇说道简单工厂模式,这一次准备说一下《大话设计模式》中策略模式。。。为什么要使用策略模式呢?因为生活中会出现很多活动,比如昨天七夕店家会打折或者满减,总之可能会出现关于定价的很多变化。如果对应一个活动,我们写一种代码,我觉得程序员小哥哥们会崩溃的,老板也会崩溃的。什么是策略模式???(此处定义来自大话设计模式)策略模式:他定义了算法家族,...
2018-08-18 17:20:42
193
1
原创 设计模式--简单工厂模式
此篇内容参考了:《大话设计模式》(程杰)为什么要学习设计模式呢?作为一个刚进入公司的小菜鸟,我遇到的第一个问题就是:公司代码很庞杂,我该怎么入手,该怎么去了解某一段代码到底是在干什么呢?偶尔一天和一个同事聊天,我跟他吐槽了一下公司的代码--看不懂,他跟我说:“其实可以看一下设计模式,有的时候可能不需要仔细的看代码也能知道这个函数再讲什么。”我觉得采用一下这位师兄(鬼知道有没有用,毕竟我也不...
2018-08-18 15:14:30
102
原创 linux--shell脚本实现一个彩色进度条
实现一个彩色进度条,主要分为两个部分。其一:它得是一个进度条。其二:它得是彩色的进度条。实现一个最简单的彩色进度条,得理解两个原理。其一:实现一个进度条。进度条其实有很多种。如下,很漂亮吧~但是还不曾了解其实现原理,哈哈哈哈哈~现在我要实现的是最简单的一种进度条,就是你能想到的最简单的。一个"#"字走天涯。##########...只不过进度条是
2017-07-18 16:00:48
553
原创 TCP协议定时器+URG,PSH的区别+TCP连接释放
【URG和PSH的区别】: URG:只有当URG标志置为1的时候紧急指针才有效,紧急指针是一个正的偏移量,和序号字段中的值相加表示紧急数据最后一个字节的序号。 PSH:标志位为“1”,表示接收方应该尽快将这个报文段交给应用层。 区别: URG:使一端可以告诉另一端有些具有某种方式的“紧急数据”已经放置在普通的数据流中了。 PSH:告诉接收方应该尽快将这个报文段交给应用层,这个报文段数据可
2017-06-30 17:09:54
493
1
原创 CRC循环冗余校验
CRC:(Cyclic Redundancy Cheak)【概念】:循环冗余检验(CRC)检错技术【原理】:发送端:M是一个n位的二进制数据,将M向左平移k位,得到一个新的M。用这个新的M除以一个k+1位的多项式P(多项式最高次数为k+1),会得到一个商Q和k位的余数R。(余数位数不足k位的时候,前边的零不能省略)。所以可以得到如下的式子。M=P*Q+R;->(M-R)
2017-06-28 15:30:57
601
1
原创 linux下task_struct部分解析
...task_struct结构体详解:1,进程状态TASK_RUNNINGS:可运行状态TASK_INTERRUPTIBLE:可中断的等待状态TASK_UNINTERRUPTIBLE:不可中断的等待状态TASK_ZOMBIE:僵尸状态TASK_STOPPED:暂停状态TASK_SWAPPING:换入换出状态A:可运行状态:处于这种状态,程序要么正在运行,要
2017-04-23 18:12:05
303
原创 C++动态内存管理
众所周知,C可以说是C++的一个子集吧!C中也包含动态内存管理,C中动态内存管理,离不开malloc和free函数,而C++动态内存管理,即继承了C的动态内存管理,又有自己的创新。而这创新便是new和delete操作符的出现。既然有创新,那必然意味着有所不同。其所不同主要有三点:其一不同便是:new,delete是操作符,而malloc和free是函数。其二便是malloc/free只是动态分
2017-03-12 19:50:20
375
原创 栈帧结构
基础知识备用:栈帧的定义:为单个过程分配的那部分栈。栈帧的作用:传递过程参数;存储返回信息;保存寄存器内容用于以后恢复;本地存储。栈底指针(帧指针):ebp寄存器。栈顶指针(栈指针):esp寄存器。栈的生长方向:向低地址方向增长。调用者的栈帧存储内容:A:被调用者的参数。B:调用者的返回地址。被调用者的栈帧存储内容是:A:从保存ebp的值
2016-12-25 21:59:06
1840
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人