自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 收藏
  • 关注

原创 [仍在撰写]QUIC ECHO抓包实践

QUIC Wireshark Handshake Echo

2022-06-08 14:48:48 365

原创 Quic实例【不断更新中】

Quic Http3

2022-06-01 19:58:12 292

原创 Go语言为Json文件生成结构体,并读取信息

Go读取json配置文件Go语言内置的json为我们提供了读取json的方式,通过interface的方式进行读取。但是在编写项目时,通常将配置信息存储在json文件之中去,然后希望我们在项目中映射为结构体,通过.运算符方便获取到内容,而不是不断使用内置的json库进行读取对应的内容。例如如下config.json文件:{ "DbSettings": { "host": "127.0.0.1", "port": 3306, "password":"123456",

2020-12-10 00:33:38 2556

原创 main函数的argc与argv

main函数可以选择传入参数,如下例:argc–arguments countargc–arguments value/vector字符串数组,用来存放指向字符串参数的指针数组,每个元素指向一个参数,空格分隔参数,长度为argc。数组下标从0开始,argv[0] 指向程序运行时的全路径名argv[1] 指向程序在DOS命令中执行程序名后的第一个字符串argv[2] 指向执行程序名后的第...

2019-11-16 15:27:32 670

原创 汇编语言:x86的寻址模式

This pessage is based on the book namedThe x86 PC Assembly Language,Design,and Interfacing Fifth edition and make a summary to make better understand.CPU addressing modes:the way CPU access operands...

2019-11-14 13:39:29 404

原创 C++迭代器在链表中的简单实现

什么是迭代器?An iterator is any object that, pointing to some element in a range of elements (such as an array or a container), has the ability to iterate through the elements of that range using a set of...

2019-11-13 21:03:51 1291

原创 双向链表(一)

双向链表(一)双向链表是一个常用的数据结构,同时在STL中也占有一席之地,那么实现双向链表是一个很好的练习,那么下面就实现一个最简单的双向链表。基本设置:含有next prev指针,value值的node类。包含若干方法的链表类:其中包含双向链表常用的push_back,pop_back,end(),begin功能Node节点首先针对Node节点,就是很常规的声明一个结构体,因为节...

2019-11-12 14:35:33 483

原创 顶层与底层const

顶层与顶层const首先顶底层const这个概念一般来说是对指针来说的,因为对于指针变量而言,不仅有指针本身(所指变量的地址值),还有所指变量的值。而这个两个值都是可以进行限定const的。而对于一般的变量,只有一个变量的值所以最多只可以使用一个const限定。而如果用const限定这种非指针变量我们把这种const叫做顶层const。下面有简单到复杂逐步复习关于const的一些知识...

2019-11-09 23:23:35 245

原创 双向链表+迭代器的C++实现

双向链表的概述写链表首先要对链表的构成有一个很好的了解,那么完成一个链表我们需要完成什么呢?节点的定义对于双向链表,每一个节点都与其前驱、后继的连接,那么这个链接我们通过指向节点的指针来完成。指向节点的指针在解引用之后就是一个节点对象。方法的定义双向链表因为具有头与尾,所以需要实现的方法有:在末尾插入,删除元素在链表首部插入、删除元素可以像访问数组元素一样使用[]运算符对...

2019-11-07 20:17:53 1356

原创 typedef在类模板中的使用

类模板与普通类:一些需要强调一下的知识:在一个类中使用另一个类的公有成员能够将另一个类作为返回值类型同样,普通的类可以做的事模板类也可以做。#include<iostream>using namespace std;struct A { int num;};class B { //这里给类A声明了一个别名。 //只要位于同样一个作用域中类之间的publi...

2019-11-07 19:50:45 4162

原创 C++泛型中的类模板参数

使用类参数的模板参数template<typename T>struct S_Tmp{ T a; void Show() { cout << "This is S_Tmp" << endl; }};template<template<typename S>class T>struct MyTest{ T&...

2019-11-07 17:33:22 443

原创 C# 泛型总结

泛型很详细的对泛型的介绍简要的总结下(基于Cpp刚刚学习完STL)C#与Cpp中泛型的不同于联系cpp中的泛型算法在Cpp中,泛型算法是较为熟悉的一块,泛型算法定义了一系列不针对特定容器进行操作的算法成为泛型算法。例如可以对vector,deque,list等进行操作的sort()算法。泛型算法的核心:不针对特定容器,而是适用于大部分普遍容器。C#中的泛型C#是一门成熟的面向对象...

2019-10-15 14:51:43 162

原创 #11 乘最多水的容器

自己写的代码这道题思路简单,两重循环加遍历即可,但是这么搞效率着实低…class Solution {public: int maxArea(vector<int>& height) { int n = height.size(); int temp = 0, max = 0,min; for (int i = 0; i < n - 1; i++...

2019-10-11 10:49:05 183

原创 #9 正则表达式

自己写的代码思路:使用两个变量指示两个不同的string先检查元素是否相等,是否为特殊字符* 与.之后使用循环设置在碰到上述两字符之后开始循环检测我理解错了正则表达式中.的用法!!!是任意匹配一个字符,而不是匹配前面的一个字符!!!.字符匹配一个任意的字符*字符匹配前面0个或者多个字符(可以匹配0个一定要记好)但是吧,我发现我自己写的代码经常栈溢出堆溢出。。。说明对于数组下标使用...

2019-10-09 23:27:44 267

原创 #9 回文子串

一半判别法int revertedNumber = 0;while (x > revertedNumber) { revertedNumber = revertedNumber * 10 + x % 10; x /= 10;}return x == revertedNumber || x == revertedNumber/10;回文数是偶数位:那么循环到正中间的时候剩下...

2019-10-09 17:03:42 72

原创 #8 字符串转换

事实上

2019-10-09 15:32:35 544

原创 #7 字符反转的溢出问题

字符反转的溢出处理把输入的一个数字翻转是一个很简单的问题,算法也很简单在这里需要讨论的是如何处理溢出。预备知识:C/C++中内置了一些设定的数INT_MAX与INT_MIN,这些参数默认了int类型的数据最大值与最小值究竟是多少,在需要的时候可以直接使用。 if (rx>INT_MAX/10 || (rx == INT_MAX / 10 && pop &gt...

2019-10-09 12:43:00 236

原创 #6 Z字形变换

根据移动的思路来建立模型首先这里的z字形其实就是N字形,那么就按照移动的思路来构造解答:每行取一个元素然后下移一行继续存储,然后这样上下移动。要求按行输出那么就创建二维数组来存储第几行与此行的元素。源字符串一次读一个然后下移或上移一行继续输出字符,那么根据这个思路设置一个变量控制数组的变化,以数组仿照真实移动来存储元素。class Solution {public: string...

2019-10-09 10:55:11 200

原创 #5 最长回文子串

我写的代码:怎么说吧,自己写的一点算法都没有,完全是暴力穷举,而且没有丝毫的美学存在的,还格外的费事!这么求解时间消耗的太高,很容易就出现超过规定的时间。这种代码很明显的反应了我关于解决问题的方法(????暴力穷举法)这些东西还是太陌生,没有解决问题的概念。class Solution {public: string longestPalindrome(string s) { int j ...

2019-10-07 23:11:13 125

原创 #3 无重复字符的最长字串

渣渣写的代码这次编译都通过不了。。。但是根据代码执行窗口来说输出结果是对的,然后思路也比较清晰我写的代码。。。核心思路:使用三个循环,第一个循环控制子串的起始位置,然后第二个循环开始完成子串尾元素的移动,第三个循环开始遍历子串检查尾元素与前面任意一个元素是否重合设置变量存储,一个用于循环内存储另一个用于存储每个循环比较之后得出的比较大的结果。这里是循环内常用的思路。思路其实就是这...

2019-10-06 15:43:59 83

原创 #2 链表实现加减法

这次很遗憾,自己连稀烂的代码也写不了了。。。直接粘别人的代码过来学习太难了不使用递归的方法:/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} ...

2019-10-05 23:41:04 2124

原创 #1 两数之和

在leetcode上使用C++实现两数之和map是使用空间换取时间,同时这里使用查找map中元素的算法很巧妙。首先照例看我自己写的垃圾代码class Solution {public: vector<int> twoSum(vector<int>& nums, int target) { map<int,int>map1; ...

2019-10-05 16:49:35 107

原创 C 存储类别

存储的基本概念对象存储值的物理内存面向对象编程的对象指的是类对象,c不是面向对象编程的语言。标识符指定特定对象的内容描述对象与标识符的方法:1. 作用域->程序中可访问标识符的区域以块(花括号{}为一个块)来划分声明在内层块中的变量,作用域只限定于声明变量的块。名称含义块作用域从块开始到块结束函数作用域声明在函数中的变量能作用于这...

2019-10-04 13:45:45 219 1

原创 使用map完成文本内的单词转换

#include<iostream> #include<fstream>#include<string> #include<sstream>#include<vector> #include<map>using namespace std;map<string, string> Buildmap...

2019-10-03 15:13:40 737

原创 第八章IO库习题心得

函数istream参数的调用此处注意如何调用istream类型的参数#include<iostream>#include<string>using namespace std;istream& Func(istream&is) { string mm; while (is >> mm) cout << mm; is...

2019-10-02 15:32:33 143

原创 python爬虫学习笔记(3)

urllib.request 使用:一般用于发送请求和接收响应urlopen 方法#url为必填参数,后两个可不填urllib.request.urlopen(url,data,timeout)urlopen方法返回一个HTTPResponse对象request对象实际上,我们可以给urllib.request.urlopen()传入一个request对象为什么需要reque...

2019-09-28 15:44:37 103

原创 python使用时cmd窗口一直显示外部命令

个人理解,cmd的设置中给cmd的访问限制了路径,我们只能通过命令符访问路径中有的部分,而不能访问未添加的。比如我们需要查询我们安装的python版本输入了代码:python --version然后给我们报了一个错,长这个样子:(因为我已经配置好了环境变量,所以为了能报出错就只输了一个conda)这个报错说明我们需要在cmd的路径中添加新的路径右键点击我的电脑->属性->环...

2019-09-24 18:25:26 318

原创 Python学习9.23

数据类型:序列类型字符串,表示Unicode字符序列。写在引号之中(单双引号,一二三对中间都可以)元组类型写在圆括号中,逗号隔开。表示任意类型的数据的数据序列类似于数组吧,不过比数组范围宽多了字节序列字符序列强调数据时一系列的字节,以‘b’开头的字符串被认为是字符序列数据。可以把字符串转换成字节序列。str='人间疾苦‘a=str.encode("utf-8")//括号内为编...

2019-09-23 18:40:44 118

原创 关于Cookie

Cookiea small piece of data sent from a website and stored on the user’s computer by the user’s web browser while the user is browsing. Cookies were designed to be a reliable mechanism for websites t...

2019-09-22 16:40:25 78

原创 robots.txt的相关知识

什么是robots?robots是网站跟爬虫间的协议,用简单直接的txt格式文本方式告诉对应的爬虫被允许的权限,也就是说robots.txt是搜索引擎中访问网站的时候要查看的第一个文件。当一个搜索蜘蛛访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围;如果该文件不存在,所有的搜索蜘蛛将能够访问网站上所有没有被口令保护...

2019-09-22 16:01:34 108

原创 HTTP的指令消息

指令消息指令消息开始于一条请求行,包括请求类型,URL和HTTP版本GET http:///www.baidu.com HTTP/1.1get是一个请求类型,用来请求被URL所指定的文档,协议版本是HTTP/1.1URL的格式:method://host[:port][/path]method 方法指明用来获得文档的文件传输协议,默认为HTTP,也可以支持其他文件传输协议。部...

2019-09-22 15:42:02 1394

原创 基本名词概念复习

Cookiea small piece of data sent from a website and stored on the user’s computer by the user’s web browser while the user is browsing. Cookies were designed to be a reliable mechanism for websites t...

2019-09-20 16:31:46 106

原创 web基本概念1

无状态的HTTP协议HTTP支持认证功能,根据实现方式可以分为:Basic,NTIM与Digest认证Basic浏览器请求一个需要认证的认证的网页,服务器向浏览器返回“401 Unauthorized”状态码,浏览器收到状态码之后会显示用户名密码界面,然后将输入的信息加入到请求信息中再次发送。Basic在完成认证之后,再下一次发送请求的时候自动附带authorized的信息头。看似去认...

2019-09-20 14:47:22 351

原创 顺序容器Ⅱ

顺序容器概述容器名特点vector可变大小数组,支持快速随机访问。尾部之外的位置插入或删除元素速度很慢deque双端队列,支持快速随机访问。在头尾位置插入/删除元素速度很快list双向链表,只支持双向顺序访问。在list任何位置插入/删除速度都很快forward_list单向列表,只支持单项顺序访问。链表任何地方插入/删除速度都很快array...

2019-09-17 16:00:48 286

原创 Markdown 的一些语法学习

UML图的生成:ABwelcomehihihiSo do youAB首先还是反引号三个反引号,然后写sequence,然后他自动变格式。之后输入两个对象,用箭头链接。代码体如下:A->>B:welcomenote right of B:hiB->>A: So do you如果我们再加一个减号,那么即可以把实线变为虚线。流程图实现Created wi...

2019-09-11 20:21:03 138

原创 变量与运算符以及static、extern关键字的使用

#define Name预处理宏,name 为宏名,在编译时自动将所有的name替换为初始化时的值,即编译时其实没有name这个名字相当于C++中的const??高精度类型完成?C++可以通过类使用容器存储,重载+号运算符就可以。C如何完成需要考虑。进制问题八进制 0,十六进制 0xint i :有符号基本整型变量默认为有符号数字,需要声明(unsigned)静态...

2019-09-11 19:57:03 119

原创 IO库-C++Primer学习笔记

IO类的条件状态IO库定义了:iostate类型,提供表达流状态的完整功能4个 iostate类型的constexpr 值,用来表达特定的位模式。1.badbit :表示系统级错误(如不可恢复的错误),bad被置位流就无法使用。2.failbit:可修正的错误3.eofbit4.good:若goodbit值为0,表明流未发生错误。如果到达文件的末尾,eofbit和fail...

2019-09-11 12:48:24 217 1

原创 类的静态成员(static)总结

类的静态成员1.我们通过关键词static声明静态成员。静态成员有以下的特点:类的静态成员与类直接相关,而不是与类的各个对象保持关联。直接捆绑在类上,而不捆绑在对象上。所以静态成员不含this指针。不能绑定const2.定义静态成员静态成员由于不属于类的任意一个对象,所以不是在创建类的对象时被定义,即静态成员不通过构造函数初始化。一般来说,不在类内部初始化静态成员。下面以类Sc...

2019-09-09 15:47:54 1095

原创 隐式类型转换和explicit的使用

1.隐式类型转换首先什么时候会出现隐式类型转换:如果构造函数只接受一个实参,则它实际上定义了转换为此类类型的隐式转换机制。我们把这种函数称作转换构造函数。转换构造函数会自动生成一临时对象,然后传递给成员函数(供其使用)。下面给出了一些代码string bull_book="9-999-99999";item.combine(null_book);class Screen{sale...

2019-09-09 13:30:46 219

原创 C++primer p248的运行实践

C++primer 第六版 p248的代码经过实际运行,有一些书上未提到的报错。Screen& display(ostream& os) { do_display(os); return *this; } const Screen& display(ostream& os) const { do_display(os); return *thi...

2019-09-08 22:24:39 117

空空如也

空空如也

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

TA关注的人

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